diff --git a/CharityPortal/.gitignore b/CharityPortal/.gitignore new file mode 100644 index 0000000..16f5ba0 --- /dev/null +++ b/CharityPortal/.gitignore @@ -0,0 +1,5 @@ +*.vs10x +*.csproj.user +*.suo +**/bin/* +**/obj/* diff --git a/CharityPortal/CharityPortal.Data/App.Config b/CharityPortal/CharityPortal.Data/App.Config new file mode 100644 index 0000000..3708d4e --- /dev/null +++ b/CharityPortal/CharityPortal.Data/App.Config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj new file mode 100644 index 0000000..af9b08c --- /dev/null +++ b/CharityPortal/CharityPortal.Data/CharityPortal.Data.csproj @@ -0,0 +1,78 @@ + + + + Debug + AnyCPU + 8.0.30703 + 2.0 + {1D773A47-6822-4511-9B27-B37386F866DD} + Library + Properties + CharityPortal.Data + CharityPortal.Data + v4.0 + 512 + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll + + + + + + + + + + + + + + + + True + True + DataContext.edmx + + + + + + EntityModelCodeGenerator + DataContext.Designer.cs + + + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/DataContext.Designer.cs b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs new file mode 100644 index 0000000..0328261 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/DataContext.Designer.cs @@ -0,0 +1,1311 @@ +//------------------------------------------------------------------------------ +// +// This code was generated from a template. +// +// Manual changes to this file may cause unexpected behavior in your application. +// Manual changes to this file will be overwritten if the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Data.Objects; +using System.Data.Objects.DataClasses; +using System.Data.EntityClient; +using System.ComponentModel; +using System.Xml.Serialization; +using System.Runtime.Serialization; + +[assembly: EdmSchemaAttribute()] +#region EDM Relationship Metadata + +[assembly: EdmRelationshipAttribute("DataContext", "OrganizationProject", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Organization), "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Project))] +[assembly: EdmRelationshipAttribute("DataContext", "ProjectResource", "Project", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Project), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "OrganizationResource", "Organization", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Organization), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "TagResource", "Tag", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Tag), "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(CharityPortal.Data.Resource))] +[assembly: EdmRelationshipAttribute("DataContext", "ResourceResource", "Resource", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Resource), "Resource1", System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(CharityPortal.Data.Resource))] + +#endregion + +namespace CharityPortal.Data +{ + #region Contexts + + /// + /// No Metadata Documentation available. + /// + public partial class DataContextContainer : ObjectContext + { + #region Constructors + + /// + /// Initializes a new DataContextContainer object using the connection string found in the 'DataContextContainer' section of the application configuration file. + /// + public DataContextContainer() : base("name=DataContextContainer", "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new DataContextContainer object. + /// + public DataContextContainer(string connectionString) : base(connectionString, "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + /// + /// Initialize a new DataContextContainer object. + /// + public DataContextContainer(EntityConnection connection) : base(connection, "DataContextContainer") + { + this.ContextOptions.LazyLoadingEnabled = true; + OnContextCreated(); + } + + #endregion + + #region Partial Methods + + partial void OnContextCreated(); + + #endregion + + #region ObjectSet Properties + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Projects + { + get + { + if ((_Projects == null)) + { + _Projects = base.CreateObjectSet("Projects"); + } + return _Projects; + } + } + private ObjectSet _Projects; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Resources + { + get + { + if ((_Resources == null)) + { + _Resources = base.CreateObjectSet("Resources"); + } + return _Resources; + } + } + private ObjectSet _Resources; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Organizations + { + get + { + if ((_Organizations == null)) + { + _Organizations = base.CreateObjectSet("Organizations"); + } + return _Organizations; + } + } + private ObjectSet _Organizations; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet Tags + { + get + { + if ((_Tags == null)) + { + _Tags = base.CreateObjectSet("Tags"); + } + return _Tags; + } + } + private ObjectSet _Tags; + + /// + /// No Metadata Documentation available. + /// + public ObjectSet AppSettings + { + get + { + if ((_AppSettings == null)) + { + _AppSettings = base.CreateObjectSet("AppSettings"); + } + return _AppSettings; + } + } + private ObjectSet _AppSettings; + + #endregion + #region AddTo Methods + + /// + /// Deprecated Method for adding a new object to the Projects EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToProjects(Project project) + { + base.AddObject("Projects", project); + } + + /// + /// Deprecated Method for adding a new object to the Resources EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToResources(Resource resource) + { + base.AddObject("Resources", resource); + } + + /// + /// Deprecated Method for adding a new object to the Organizations EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToOrganizations(Organization organization) + { + base.AddObject("Organizations", organization); + } + + /// + /// Deprecated Method for adding a new object to the Tags EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToTags(Tag tag) + { + base.AddObject("Tags", tag); + } + + /// + /// Deprecated Method for adding a new object to the AppSettings EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. + /// + public void AddToAppSettings(AppSetting appSetting) + { + base.AddObject("AppSettings", appSetting); + } + + #endregion + } + + + #endregion + + #region Entities + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="AppSetting")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class AppSetting : EntityObject + { + #region Factory Method + + /// + /// Create a new AppSetting object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the Value property. + public static AppSetting CreateAppSetting(global::System.Int32 id, global::System.String name, global::System.String value) + { + AppSetting appSetting = new AppSetting(); + appSetting.Id = id; + appSetting.Name = name; + appSetting.Value = value; + return appSetting; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Value + { + get + { + return _Value; + } + set + { + OnValueChanging(value); + ReportPropertyChanging("Value"); + _Value = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Value"); + OnValueChanged(); + } + } + private global::System.String _Value; + partial void OnValueChanging(global::System.String value); + partial void OnValueChanged(); + + #endregion + + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Organization")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Organization : EntityObject + { + #region Factory Method + + /// + /// Create a new Organization object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the ContactEmail property. + public static Organization CreateOrganization(global::System.Int32 id, global::System.String name, global::System.String contactEmail) + { + Organization organization = new Organization(); + organization.Id = id; + organization.Name = name; + organization.ContactEmail = contactEmail; + return organization; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String ContactEmail + { + get + { + return _ContactEmail; + } + set + { + OnContactEmailChanging(value); + ReportPropertyChanging("ContactEmail"); + _ContactEmail = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("ContactEmail"); + OnContactEmailChanged(); + } + } + private global::System.String _ContactEmail; + partial void OnContactEmailChanging(global::System.String value); + partial void OnContactEmailChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationProject", "Project")] + public EntityCollection Projects + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.OrganizationProject", "Project"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.OrganizationProject", "Project", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationResource", "Resource")] + public EntityCollection AvailableResources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.OrganizationResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.OrganizationResource", "Resource", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Project")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Project : EntityObject + { + #region Factory Method + + /// + /// Create a new Project object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + /// Initial value of the Description property. + /// Initial value of the IsActive property. + /// Initial value of the Location property. + public static Project CreateProject(global::System.Int32 id, global::System.String name, global::System.String description, global::System.Boolean isActive, Location location) + { + Project project = new Project(); + project.Id = id; + project.Name = name; + project.Description = description; + project.IsActive = isActive; + project.Location = StructuralObject.VerifyComplexObjectIsNotNull(location, "Location"); + return project; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Boolean IsActive + { + get + { + return _IsActive; + } + set + { + OnIsActiveChanging(value); + ReportPropertyChanging("IsActive"); + _IsActive = StructuralObject.SetValidValue(value); + ReportPropertyChanged("IsActive"); + OnIsActiveChanged(); + } + } + private global::System.Boolean _IsActive; + partial void OnIsActiveChanging(global::System.Boolean value); + partial void OnIsActiveChanged(); + + #endregion + #region Complex Properties + + /// + /// No Metadata Documentation available. + /// + [EdmComplexPropertyAttribute()] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] + [XmlElement(IsNullable=true)] + [SoapElement(IsNullable=true)] + [DataMemberAttribute()] + public Location Location + { + get + { + _Location = GetValidValue(_Location, "Location", false, _LocationInitialized); + _LocationInitialized = true; + return _Location; + } + set + { + OnLocationChanging(value); + ReportPropertyChanging("Location"); + _Location = SetValidValue(_Location, value, "Location"); + _LocationInitialized = true; + ReportPropertyChanged("Location"); + OnLocationChanged(); + } + } + private Location _Location; + private bool _LocationInitialized; + partial void OnLocationChanging(Location value); + partial void OnLocationChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationProject", "Organization")] + public Organization AdminOrganization + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference AdminOrganizationReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationProject", "Organization"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.OrganizationProject", "Organization", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ProjectResource", "Resource")] + public EntityCollection RequiredResources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.ProjectResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.ProjectResource", "Resource", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Resource")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Resource : EntityObject + { + #region Factory Method + + /// + /// Create a new Resource object. + /// + /// Initial value of the Id property. + /// Initial value of the Title property. + /// Initial value of the Description property. + /// Initial value of the Quantity property. + /// Initial value of the QuantityUnits property. + /// Initial value of the Location property. + public static Resource CreateResource(global::System.Int64 id, global::System.String title, global::System.String description, global::System.Double quantity, global::System.String quantityUnits, Location location) + { + Resource resource = new Resource(); + resource.Id = id; + resource.Title = title; + resource.Description = description; + resource.Quantity = quantity; + resource.QuantityUnits = quantityUnits; + resource.Location = StructuralObject.VerifyComplexObjectIsNotNull(location, "Location"); + return resource; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int64 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int64 _Id; + partial void OnIdChanging(global::System.Int64 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Title + { + get + { + return _Title; + } + set + { + OnTitleChanging(value); + ReportPropertyChanging("Title"); + _Title = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Title"); + OnTitleChanged(); + } + } + private global::System.String _Title; + partial void OnTitleChanging(global::System.String value); + partial void OnTitleChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Description + { + get + { + return _Description; + } + set + { + OnDescriptionChanging(value); + ReportPropertyChanging("Description"); + _Description = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Description"); + OnDescriptionChanged(); + } + } + private global::System.String _Description; + partial void OnDescriptionChanging(global::System.String value); + partial void OnDescriptionChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Quantity + { + get + { + return _Quantity; + } + set + { + OnQuantityChanging(value); + ReportPropertyChanging("Quantity"); + _Quantity = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Quantity"); + OnQuantityChanged(); + } + } + private global::System.Double _Quantity; + partial void OnQuantityChanging(global::System.Double value); + partial void OnQuantityChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String QuantityUnits + { + get + { + return _QuantityUnits; + } + set + { + OnQuantityUnitsChanging(value); + ReportPropertyChanging("QuantityUnits"); + _QuantityUnits = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("QuantityUnits"); + OnQuantityUnitsChanged(); + } + } + private global::System.String _QuantityUnits; + partial void OnQuantityUnitsChanging(global::System.String value); + partial void OnQuantityUnitsChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=true)] + [DataMemberAttribute()] + public global::System.String ImageUrl + { + get + { + return _ImageUrl; + } + set + { + OnImageUrlChanging(value); + ReportPropertyChanging("ImageUrl"); + _ImageUrl = StructuralObject.SetValidValue(value, true); + ReportPropertyChanged("ImageUrl"); + OnImageUrlChanged(); + } + } + private global::System.String _ImageUrl; + partial void OnImageUrlChanging(global::System.String value); + partial void OnImageUrlChanged(); + + #endregion + #region Complex Properties + + /// + /// No Metadata Documentation available. + /// + [EdmComplexPropertyAttribute()] + [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)] + [XmlElement(IsNullable=true)] + [SoapElement(IsNullable=true)] + [DataMemberAttribute()] + public Location Location + { + get + { + _Location = GetValidValue(_Location, "Location", false, _LocationInitialized); + _LocationInitialized = true; + return _Location; + } + set + { + OnLocationChanging(value); + ReportPropertyChanging("Location"); + _Location = SetValidValue(_Location, value, "Location"); + _LocationInitialized = true; + ReportPropertyChanged("Location"); + OnLocationChanged(); + } + } + private Location _Location; + private bool _LocationInitialized; + partial void OnLocationChanging(Location value); + partial void OnLocationChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ProjectResource", "Project")] + public Project Project + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference ProjectReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ProjectResource", "Project"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ProjectResource", "Project", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "OrganizationResource", "Organization")] + public Organization Organization + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference OrganizationReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.OrganizationResource", "Organization"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.OrganizationResource", "Organization", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Tag")] + public EntityCollection Tags + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Tag"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Tag", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource1")] + public Resource Fulfills + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference FulfillsReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource1"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource1", value); + } + } + } + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "ResourceResource", "Resource")] + public Resource FulfilledBy + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value; + } + set + { + ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource").Value = value; + } + } + /// + /// No Metadata Documentation available. + /// + [BrowsableAttribute(false)] + [DataMemberAttribute()] + public EntityReference FulfilledByReference + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedReference("DataContext.ResourceResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedReference("DataContext.ResourceResource", "Resource", value); + } + } + } + + #endregion + } + + /// + /// No Metadata Documentation available. + /// + [EdmEntityTypeAttribute(NamespaceName="DataContext", Name="Tag")] + [Serializable()] + [DataContractAttribute(IsReference=true)] + public partial class Tag : EntityObject + { + #region Factory Method + + /// + /// Create a new Tag object. + /// + /// Initial value of the Id property. + /// Initial value of the Name property. + public static Tag CreateTag(global::System.Int32 id, global::System.String name) + { + Tag tag = new Tag(); + tag.Id = id; + tag.Name = name; + return tag; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Int32 Id + { + get + { + return _Id; + } + set + { + if (_Id != value) + { + OnIdChanging(value); + ReportPropertyChanging("Id"); + _Id = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Id"); + OnIdChanged(); + } + } + } + private global::System.Int32 _Id; + partial void OnIdChanging(global::System.Int32 value); + partial void OnIdChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Name + { + get + { + return _Name; + } + set + { + OnNameChanging(value); + ReportPropertyChanging("Name"); + _Name = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Name"); + OnNameChanged(); + } + } + private global::System.String _Name; + partial void OnNameChanging(global::System.String value); + partial void OnNameChanged(); + + #endregion + + #region Navigation Properties + + /// + /// No Metadata Documentation available. + /// + [XmlIgnoreAttribute()] + [SoapIgnoreAttribute()] + [DataMemberAttribute()] + [EdmRelationshipNavigationPropertyAttribute("DataContext", "TagResource", "Resource")] + public EntityCollection Resources + { + get + { + return ((IEntityWithRelationships)this).RelationshipManager.GetRelatedCollection("DataContext.TagResource", "Resource"); + } + set + { + if ((value != null)) + { + ((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection("DataContext.TagResource", "Resource", value); + } + } + } + + #endregion + } + + #endregion + #region ComplexTypes + + /// + /// No Metadata Documentation available. + /// + [EdmComplexTypeAttribute(NamespaceName="DataContext", Name="Location")] + [DataContractAttribute(IsReference=true)] + [Serializable()] + public partial class Location : ComplexObject + { + #region Factory Method + + /// + /// Create a new Location object. + /// + /// Initial value of the Longitude property. + /// Initial value of the Latitude property. + /// Initial value of the Address property. + public static Location CreateLocation(global::System.Double longitude, global::System.Double latitude, global::System.String address) + { + Location location = new Location(); + location.Longitude = longitude; + location.Latitude = latitude; + location.Address = address; + return location; + } + + #endregion + #region Primitive Properties + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Longitude + { + get + { + return _Longitude; + } + set + { + OnLongitudeChanging(value); + ReportPropertyChanging("Longitude"); + _Longitude = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Longitude"); + OnLongitudeChanged(); + } + } + private global::System.Double _Longitude; + partial void OnLongitudeChanging(global::System.Double value); + partial void OnLongitudeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.Double Latitude + { + get + { + return _Latitude; + } + set + { + OnLatitudeChanging(value); + ReportPropertyChanging("Latitude"); + _Latitude = StructuralObject.SetValidValue(value); + ReportPropertyChanged("Latitude"); + OnLatitudeChanged(); + } + } + private global::System.Double _Latitude; + partial void OnLatitudeChanging(global::System.Double value); + partial void OnLatitudeChanged(); + + /// + /// No Metadata Documentation available. + /// + [EdmScalarPropertyAttribute(EntityKeyProperty=false, IsNullable=false)] + [DataMemberAttribute()] + public global::System.String Address + { + get + { + return _Address; + } + set + { + OnAddressChanging(value); + ReportPropertyChanging("Address"); + _Address = StructuralObject.SetValidValue(value, false); + ReportPropertyChanged("Address"); + OnAddressChanged(); + } + } + private global::System.String _Address; + partial void OnAddressChanging(global::System.String value); + partial void OnAddressChanged(); + + #endregion + } + + #endregion + +} diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx b/CharityPortal/CharityPortal.Data/DataContext.edmx new file mode 100644 index 0000000..105ba99 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx @@ -0,0 +1,442 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal.Data/DataContext.edmx.sql b/CharityPortal/CharityPortal.Data/DataContext.edmx.sql new file mode 100644 index 0000000..a622358 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/DataContext.edmx.sql @@ -0,0 +1,251 @@ + +-- -------------------------------------------------- +-- Entity Designer DDL Script for SQL Server 2005, 2008, and Azure +-- -------------------------------------------------- +-- Date Created: 07/03/2011 14:07:50 +-- Generated from EDMX file: C:\dev4good\CharityPortal\CharityPortal.Data\DataContext.edmx +-- -------------------------------------------------- + +SET QUOTED_IDENTIFIER OFF; +GO +USE [charityportal]; +GO +IF SCHEMA_ID(N'dbo') IS NULL EXECUTE(N'CREATE SCHEMA [dbo]'); +GO + +-- -------------------------------------------------- +-- Dropping existing FOREIGN KEY constraints +-- -------------------------------------------------- + +IF OBJECT_ID(N'[dbo].[FK_OrganizationProject]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Projects] DROP CONSTRAINT [FK_OrganizationProject]; +GO +IF OBJECT_ID(N'[dbo].[FK_ProjectResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ProjectResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_OrganizationResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_OrganizationResource]; +GO +IF OBJECT_ID(N'[dbo].[FK_TagResource_Tag]', 'F') IS NOT NULL + ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Tag]; +GO +IF OBJECT_ID(N'[dbo].[FK_TagResource_Resource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[TagResource] DROP CONSTRAINT [FK_TagResource_Resource]; +GO +IF OBJECT_ID(N'[dbo].[FK_ResourceResource]', 'F') IS NOT NULL + ALTER TABLE [dbo].[Resources] DROP CONSTRAINT [FK_ResourceResource]; +GO + +-- -------------------------------------------------- +-- Dropping existing tables +-- -------------------------------------------------- + +IF OBJECT_ID(N'[dbo].[Projects]', 'U') IS NOT NULL + DROP TABLE [dbo].[Projects]; +GO +IF OBJECT_ID(N'[dbo].[Resources]', 'U') IS NOT NULL + DROP TABLE [dbo].[Resources]; +GO +IF OBJECT_ID(N'[dbo].[Organizations]', 'U') IS NOT NULL + DROP TABLE [dbo].[Organizations]; +GO +IF OBJECT_ID(N'[dbo].[Tags]', 'U') IS NOT NULL + DROP TABLE [dbo].[Tags]; +GO +IF OBJECT_ID(N'[dbo].[AppSettings]', 'U') IS NOT NULL + DROP TABLE [dbo].[AppSettings]; +GO +IF OBJECT_ID(N'[dbo].[TagResource]', 'U') IS NOT NULL + DROP TABLE [dbo].[TagResource]; +GO + +-- -------------------------------------------------- +-- Creating all tables +-- -------------------------------------------------- + +-- Creating table 'Projects' +CREATE TABLE [dbo].[Projects] ( + [Id] int IDENTITY(1,1) NOT NULL, + [Name] nvarchar(255) NOT NULL, + [Description] nvarchar(255) NOT NULL, + [IsActive] bit NOT NULL, + [Location_Longitude] float NOT NULL, + [Location_Latitude] float NOT NULL, + [Location_Address] nvarchar(max) NOT NULL, + [AdminOrganization_Id] int NULL +); +GO + +-- Creating table 'Resources' +CREATE TABLE [dbo].[Resources] ( + [Id] bigint IDENTITY(1,1) NOT NULL, + [Title] nvarchar(255) NOT NULL, + [Description] nvarchar(255) NOT NULL, + [Quantity] float NOT NULL, + [QuantityUnits] nvarchar(255) NOT NULL, + [Location_Longitude] float NOT NULL, + [Location_Latitude] float NOT NULL, + [Location_Address] nvarchar(max) NOT NULL, + [ImageUrl] nvarchar(255) NULL, + [Project_Id] int NULL, + [Organization_Id] int NULL, + [FulfilledBy_Id] bigint NULL +); +GO + +-- Creating table 'Organizations' +CREATE TABLE [dbo].[Organizations] ( + [Id] int IDENTITY(1,1) NOT NULL, + [Name] nvarchar(255) NOT NULL, + [ContactEmail] nvarchar(255) NOT NULL +); +GO + +-- Creating table 'Tags' +CREATE TABLE [dbo].[Tags] ( + [Id] int IDENTITY(1,1) NOT NULL, + [Name] nvarchar(255) NOT NULL +); +GO + +-- Creating table 'AppSettings' +CREATE TABLE [dbo].[AppSettings] ( + [Id] int IDENTITY(1,1) NOT NULL, + [Name] nvarchar(255) NOT NULL, + [Value] nvarchar(255) NOT NULL +); +GO + +-- Creating table 'TagResource' +CREATE TABLE [dbo].[TagResource] ( + [Tags_Id] int NOT NULL, + [Resources_Id] bigint NOT NULL +); +GO + +-- -------------------------------------------------- +-- Creating all PRIMARY KEY constraints +-- -------------------------------------------------- + +-- Creating primary key on [Id] in table 'Projects' +ALTER TABLE [dbo].[Projects] +ADD CONSTRAINT [PK_Projects] + PRIMARY KEY CLUSTERED ([Id] ASC); +GO + +-- Creating primary key on [Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [PK_Resources] + PRIMARY KEY CLUSTERED ([Id] ASC); +GO + +-- Creating primary key on [Id] in table 'Organizations' +ALTER TABLE [dbo].[Organizations] +ADD CONSTRAINT [PK_Organizations] + PRIMARY KEY CLUSTERED ([Id] ASC); +GO + +-- Creating primary key on [Id] in table 'Tags' +ALTER TABLE [dbo].[Tags] +ADD CONSTRAINT [PK_Tags] + PRIMARY KEY CLUSTERED ([Id] ASC); +GO + +-- Creating primary key on [Id] in table 'AppSettings' +ALTER TABLE [dbo].[AppSettings] +ADD CONSTRAINT [PK_AppSettings] + PRIMARY KEY CLUSTERED ([Id] ASC); +GO + +-- Creating primary key on [Tags_Id], [Resources_Id] in table 'TagResource' +ALTER TABLE [dbo].[TagResource] +ADD CONSTRAINT [PK_TagResource] + PRIMARY KEY NONCLUSTERED ([Tags_Id], [Resources_Id] ASC); +GO + +-- -------------------------------------------------- +-- Creating all FOREIGN KEY constraints +-- -------------------------------------------------- + +-- Creating foreign key on [AdminOrganization_Id] in table 'Projects' +ALTER TABLE [dbo].[Projects] +ADD CONSTRAINT [FK_OrganizationProject] + FOREIGN KEY ([AdminOrganization_Id]) + REFERENCES [dbo].[Organizations] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- Creating non-clustered index for FOREIGN KEY 'FK_OrganizationProject' +CREATE INDEX [IX_FK_OrganizationProject] +ON [dbo].[Projects] + ([AdminOrganization_Id]); +GO + +-- Creating foreign key on [Project_Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [FK_ProjectResource] + FOREIGN KEY ([Project_Id]) + REFERENCES [dbo].[Projects] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- Creating non-clustered index for FOREIGN KEY 'FK_ProjectResource' +CREATE INDEX [IX_FK_ProjectResource] +ON [dbo].[Resources] + ([Project_Id]); +GO + +-- Creating foreign key on [Organization_Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [FK_OrganizationResource] + FOREIGN KEY ([Organization_Id]) + REFERENCES [dbo].[Organizations] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- Creating non-clustered index for FOREIGN KEY 'FK_OrganizationResource' +CREATE INDEX [IX_FK_OrganizationResource] +ON [dbo].[Resources] + ([Organization_Id]); +GO + +-- Creating foreign key on [Tags_Id] in table 'TagResource' +ALTER TABLE [dbo].[TagResource] +ADD CONSTRAINT [FK_TagResource_Tag] + FOREIGN KEY ([Tags_Id]) + REFERENCES [dbo].[Tags] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; +GO + +-- Creating foreign key on [Resources_Id] in table 'TagResource' +ALTER TABLE [dbo].[TagResource] +ADD CONSTRAINT [FK_TagResource_Resource] + FOREIGN KEY ([Resources_Id]) + REFERENCES [dbo].[Resources] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- Creating non-clustered index for FOREIGN KEY 'FK_TagResource_Resource' +CREATE INDEX [IX_FK_TagResource_Resource] +ON [dbo].[TagResource] + ([Resources_Id]); +GO + +-- Creating foreign key on [FulfilledBy_Id] in table 'Resources' +ALTER TABLE [dbo].[Resources] +ADD CONSTRAINT [FK_ResourceResource] + FOREIGN KEY ([FulfilledBy_Id]) + REFERENCES [dbo].[Resources] + ([Id]) + ON DELETE NO ACTION ON UPDATE NO ACTION; + +-- Creating non-clustered index for FOREIGN KEY 'FK_ResourceResource' +CREATE INDEX [IX_FK_ResourceResource] +ON [dbo].[Resources] + ([FulfilledBy_Id]); +GO + +-- -------------------------------------------------- +-- Script has ended +-- -------------------------------------------------- \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..58f5348 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal.Data")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal.Data")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("5fcd76ca-74bf-4905-9d77-2187cf9d4afa")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal.Data/packages.config b/CharityPortal/CharityPortal.Data/packages.config new file mode 100644 index 0000000..070f042 --- /dev/null +++ b/CharityPortal/CharityPortal.Data/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Tests/App.config b/CharityPortal/CharityPortal.Tests/App.config new file mode 100644 index 0000000..5a526f8 --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/App.config @@ -0,0 +1,14 @@ + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj b/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj new file mode 100644 index 0000000..260203d --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/CharityPortal.Tests.csproj @@ -0,0 +1,72 @@ + + + + Debug + AnyCPU + + + 2.0 + {3AA419E8-E022-4912-AFAF-56FECE9013D6} + Library + Properties + CharityPortal.Tests + CharityPortal.Tests + v4.0 + 512 + {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + + + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + + + + + + + + {873FA52F-68B3-4B6E-843C-C7045F51C88B} + CharityPortal + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs b/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs new file mode 100644 index 0000000..aa0aa96 --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/Controllers/HomeControllerTest.cs @@ -0,0 +1,41 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web.Mvc; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using CharityPortal; +using CharityPortal.Controllers; + +namespace CharityPortal.Tests.Controllers +{ + [TestClass] + public class HomeControllerTest + { + [TestMethod] + public void Index() + { + // Arrange + HomeController controller = new HomeController(); + + // Act + ViewResult result = controller.Index() as ViewResult; + + // Assert + Assert.AreEqual("Welcome to ASP.NET MVC!", result.ViewBag.Message); + } + + [TestMethod] + public void About() + { + // Arrange + HomeController controller = new HomeController(); + + // Act + ViewResult result = controller.About() as ViewResult; + + // Assert + Assert.IsNotNull(result); + } + } +} diff --git a/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..90125be --- /dev/null +++ b/CharityPortal/CharityPortal.Tests/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal.Tests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal.Tests")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("fefa2b30-0522-4b23-b03a-3fa6294b871b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal.sln b/CharityPortal/CharityPortal.sln new file mode 100644 index 0000000..3f9efaa --- /dev/null +++ b/CharityPortal/CharityPortal.sln @@ -0,0 +1,67 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal", "CharityPortal\CharityPortal.csproj", "{873FA52F-68B3-4B6E-843C-C7045F51C88B}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Tests", "CharityPortal.Tests\CharityPortal.Tests.csproj", "{3AA419E8-E022-4912-AFAF-56FECE9013D6}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.Data", "CharityPortal.Data\CharityPortal.Data.csproj", "{1D773A47-6822-4511-9B27-B37386F866DD}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CharityPortal.ResourceMatcher", "ResourceMatcher\CharityPortal.ResourceMatcher.csproj", "{340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Debug|x86.ActiveCfg = Debug|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Any CPU.Build.0 = Release|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {873FA52F-68B3-4B6E-843C-C7045F51C88B}.Release|x86.ActiveCfg = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Debug|x86.ActiveCfg = Debug|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Any CPU.Build.0 = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {3AA419E8-E022-4912-AFAF-56FECE9013D6}.Release|x86.ActiveCfg = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Debug|x86.ActiveCfg = Debug|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Any CPU.Build.0 = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {1D773A47-6822-4511-9B27-B37386F866DD}.Release|x86.ActiveCfg = Release|Any CPU + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Debug|Any CPU.ActiveCfg = Debug|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Debug|Any CPU.Build.0 = Debug|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Debug|Mixed Platforms.Build.0 = Debug|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Debug|x86.ActiveCfg = Debug|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Debug|x86.Build.0 = Debug|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Release|Any CPU.ActiveCfg = Release|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Release|Mixed Platforms.ActiveCfg = Release|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Release|Mixed Platforms.Build.0 = Release|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Release|x86.ActiveCfg = Release|x86 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.resx new file mode 100644 index 0000000..99ad064 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.bg-BG.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Получер + + + Направи препратка + + + Сигурни ли сте че искате да изтриете "{0}"? + + + Директория с посоченото име не бе открита. + + + Празна папка + + + Шрифт + + + (наследен шрифт) + + + Размер на шрифта + + + (наследен размер) + + + Избери формат + + + Добави отстъп + + + Вмъкни HTML + + + Вмъкни картина + + + Вмъкни номериран списък + + + Вмъкни списък + + + Избраният файл "{0}" не е валиден. Поддържаните файлови формати са {1}. + + + Курсив + + + Центрирай + + + Подравни + + + Подравни отляво + + + Подравни отдясно + + + Подреди по: + + + Име + + + Големина + + + Премахни отстъп + + + Файл с име "{0}" вече съществува в тази папка. Искате ли да го презапишете? + + + Зачертай + + + Стилове + + + Подчертай + + + Премахни препратка + + + Качи файл + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.resx new file mode 100644 index 0000000..b9d1f98 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.de-DE.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Fett + + + Hyperlink einfügen + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Schriftfamilie + + + (Schrift übernehmen) + + + Größe + + + (Größe übernehmen) + + + Absatzstil + + + Einzug vergrößern + + + HTML einfügen + + + Einfügen Bild + + + Numerierte Liste + + + Aufzählliste + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Kursiv + + + Zentriert + + + Ausrichten + + + Linksbündig + + + Rechtsbündig + + + Arrange by: + + + Name + + + Size + + + Einzug verkleinern + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Durchgestrichen + + + Stil + + + Unterstrichen + + + Hyperlink entfernen + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.resx new file mode 100644 index 0000000..46048b8 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.en-US.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Bold + + + Insert hyperlink + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Select font family + + + (inherited font) + + + Select font size + + + (inherited size) + + + Select block type + + + Indent + + + Insert HTML + + + Insert image + + + Insert ordered list + + + Insert unordered list + + + The selected file \"{0}\" is not valid. Supported file types are {1}. + + + Italic + + + Center text + + + Justify + + + Align text left + + + Align text right + + + Arrange by: + + + Name + + + Size + + + Outdent + + + 'A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Strikethrough + + + Styles + + + Underline + + + Remove hyperlink + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.resx new file mode 100644 index 0000000..43eee61 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.fr-FR.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Gras + + + Insérer un lien hypertexte + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Famille de polices + + + Dimension + + + Style du paragraphe + + + Augmenter le retrait + + + Insèrer HTML + + + Insèrer Image + + + Liste numérotée + + + Liste à puces + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Italique + + + Centrer + + + Justifier + + + Alignement à gauche + + + Alignement à droite + + + Arrange by: + + + Name + + + Size + + + Réduire le retrait + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Texte barré + + + Style + + + Souligné + + + Supprimer hyperlien + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.resx new file mode 100644 index 0000000..f56e858 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pl-PL.resx @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Wytłuszczenie + + + Wstaw link + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Wybierz czcionkę + + + (czcionka odziedziczona) + + + Wybierz rozmiar czcionki + + + (inherited size) + + + Wybierz rozmiar bloku + + + Wcięcie + + + Wstaw HTML + + + Wstaw obraz + + + Wstaw listę numerowaną + + + Wstaw listę wypunktowaną + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Kursywa + + + Centruj tekst + + + Wyrównaj tekst + + + Wyrównaj tekst do lewej + + + Wyrównaj tekst do prawej + + + Arrange by: + + + Name + + + Size + + + Zmniejsz wcięcie + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Przekreślenie + + + Style + + + Podkreślenie + + + Usuń link + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.resx new file mode 100644 index 0000000..1cd97aa --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.pt-BR.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Negrito + + + Adicionar Link + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Fonte + + + Tamanho + + + Formatar Bloco + + + Aumentar Recuo + + + Inserir HTML + + + Inserir Imagem + + + Inserir Lista Ordenada + + + Inserir Lista Aleatória + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Itálico + + + Alinhar Centro + + + Justificar + + + Alinhar à Esquerda + + + Alinhar à Direita + + + Arrange by: + + + Name + + + Size + + + Diminuir Recuo + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Tachado + + + Estilo + + + Sublinhado + + + Remover Link + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.resx new file mode 100644 index 0000000..7ebc8e1 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.ru-RU.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Полужирный + + + Вставить гиперссылку + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Выбрать шрифт + + + Выбрать размер шрифта + + + Форматирование + + + Увеличить отступ + + + Вставить HTML + + + Вставить изображение + + + Вставить нумерованный список + + + Вставить маркированныйсписок + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Курсив + + + Выровнять по центру + + + Выровнять по ширине + + + Выровнять по левому краю + + + Выровнять по правому краю + + + Arrange by: + + + Name + + + Size + + + Уменьшить отступ + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Зачеркнутый + + + Стиль + + + Подчеркнутый + + + Удалить гиперссылку + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.resx b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.resx new file mode 100644 index 0000000..0fcb3fe --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/EditorLocalization.uk-UA.resx @@ -0,0 +1,207 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Жирний + + + Додати посилання + + + Are you sure you want to delete "{0}"? + + + A directory with this name was not found. + + + Empty Folder + + + Шрифт + + + Розмір шрифта + + + Форматування + + + Збільшити відступ + + + Додати HTML + + + Додати зображення + + + Нумерований список + + + Маркований список + + + The selected file "{0}" is not valid. Supported file types are {1}. + + + Курсив + + + По центру + + + По ширині + + + По лівому краю + + + По правому краю + + + Arrange by: + + + Name + + + Size + + + Зменшити відступ + + + A file with name "{0}" already exists in the current directory. Do you want to overwrite it? + + + Закреслений + + + Стиль + + + Підкреслений + + + Видалити посилання + + + Upload + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.resx new file mode 100644 index 0000000..6880e5e --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.bg-BG.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Добави нов запис + + + Изтриване + + + Отказ + + + Запази + + + Добави + + + Редактиране + + + Избери + + + Страница + + + Записи {0} - {1} от {2} + + + от {0} + + + Филтрирай + + + и + + + Премахни филтър + + + Е равно на + + + Е след или равно на + + + Е след + + + Е преди или равно на + + + Е преди + + + Не е равно на + + + Е равно на + + + Е по-голяма или равно на + + + Е по-голямо от + + + Е по-малко или равно на + + + Е по-малко от + + + Не е равно на + + + Покажи записи със стойност, която + + + Завършва на + + + Е равно на + + + Не е равно на + + + Започва с + + + Съдържа + + + Дръпни колона и я пусни тук, за да групираш + + + E равно на + + + Не е равно на + + + -Избери стойност- + + + Сигурни ли сте, че искате да изтриете записа? + + + не е вярно + + + е вярно + + + Няма записи за показване! + + + Откажи промените + + + Запази промените + + + Опресни + + + сортиране в нарастващ ред + + + сортиране в намаляващ ред + + + премахни групирането + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.resx new file mode 100644 index 0000000..72fe972 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.de-DE.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Neuen Datensatz hinzufügen + + + Löschen + + + Abbrechen + + + Aktualisiere + + + Einfügen + + + Bearbeiten + + + Wähle + + + Seite + + + Anzeigen der Elemente {0} - {1} von {2} + + + von {0} + + + Filter + + + Und + + + Filter löschen + + + Ist gleich + + + Ist nach oder gleich + + + Ist nach + + + Ist vor oder gleich + + + Ist vor + + + Ist nicht gleich + + + Ist gleich + + + Ist größer als oder gleich + + + Ist größer als + + + Ist kleiner als oder gleich + + + Ist kleiner + + + Ist nicht gleich + + + Zeigt Zeilen mit Werten, die + + + Endet mit + + + Ist gleich + + + Ist nicht gleich + + + Beginnt mit + + + Beinhaltet + + + Ziehen Sie eine Spaltenüberschrift hierher, um nach dieser Spalte zu gruppieren + + + Ist gleich + + + Ist nicht gleich + + + -wählen Sie- + + + Sind Sie sicher, dass Sie diesen Datensatz löschen wollen? + + + ist falsch + + + ist richtig + + + keine Daten + + + Änderungen verwerfen + + + Änderungen speichern + + + Aktualisieren + + + aufsteigend sortiert + + + absteigend sortiert + + + Gruppierung aufheben + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.resx new file mode 100644 index 0000000..99d7e63 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.en-US.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Add new record + + + Delete + + + Cancel + + + Update + + + Insert + + + Edit + + + Select + + + Page + + + Displaying items {0} - {1} of {2} + + + of {0} + + + Filter + + + And + + + Clear Filter + + + Is equal to + + + Is after or equal to + + + Is after + + + Is before or equal to + + + Is before + + + Is not equal to + + + Is equal to + + + Is greater than or equal to + + + Is greater than + + + Is less than or equal to + + + Is less than + + + Is not equal to + + + Show rows with value that + + + Ends with + + + Is equal to + + + Is not equal to + + + Starts with + + + Contains + + + Drag a column header and drop it here to group by that column + + + Is equal to + + + Is not equal to + + + Are you sure you want to delete this record? + + + -Select value- + + + is false + + + is true + + + No records to display. + + + Cancel changes + + + Save changes + + + Refresh + + + sorted ascending + + + sorted descending + + + ungroup + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.resx new file mode 100644 index 0000000..d332f18 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.es-ES.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Añadir nuevo registro + + + Eliminar + + + Cancelar + + + Actualizar + + + Añadir + + + Editar + + + Seleccionar + + + Página + + + Elementos mostrados {0} - {1} de {2} + + + de {0} + + + Filtrar + + + Y + + + Limpiar filtro + + + Es igual a + + + Es posterior o igual a + + + Es posterior + + + Es anterior o igual a + + + Es anterior + + + No es igual a + + + Es igual a + + + Es mayor o igual que + + + Es mayor que + + + Es menor o igual que + + + Es menor que + + + No es igual a + + + Mostrar filas con valor que + + + Termina en + + + Es igual a + + + No es igual a + + + Comienza con + + + Contiene + + + Arrastre un encabezado de columna y póngalo aquí para agrupar por ella + + + Es igual a + + + No es igual a + + + ¿Está seguro de que quiere eliminar este registro? + + + No records to display. + + + No + + + Si + + + Cancel Changes + + + Save Changes + + + Actualizar + + + ordenados ascendente + + + ordenados descendente + + + desagrupar + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.resx new file mode 100644 index 0000000..97e9f51 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.fr-FR.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Ajouter un contenu + + + Effacer + + + Annuler + + + Rafraîchir + + + Insérer + + + Edition + + + Sélectionner + + + Page + + + Afficher les items {0} - {1} of {2} + + + de {0} + + + Filtrer + + + et + + + Annuler Filtrer + + + égal à + + + est postérieur ou égal à + + + est postérieur + + + est antérieur ou égal à + + + est antérieur + + + n’est pas égal à + + + égal à + + + est supérieur ou égal à + + + est supérieur à + + + est moins ou égal à + + + est moins de + + + n’est pas égal à + + + Montrer les lignes avec la valeur de + + + Finit par + + + égal à + + + n’est pas égal à + + + Commence par + + + contient + + + Faites glisser la tête de colonne et posez-la ici pour la grouper avec cette colonne. + + + égal à + + + n’est pas égal à + + + -Sélectionner- + + + Etes-vous surs de vouloir effacer le contenu ? + + + est fausse + + + est vrai + + + No records to display. + + + Cancel Changes + + + Save Changes + + + Actualiser + + + triés croissant + + + triés décroissant + + + supprimer groupement + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.resx new file mode 100644 index 0000000..b568345 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pl-PL.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Dodaj nowy rekord + + + Usuń + + + Anuluj + + + Aktualizuj + + + Wstaw + + + Edycja + + + Zaznacz + + + Strona + + + Wyświetlanie elementów {0} - {1} z {2} + + + z {0} + + + Filtr + + + Oraz + + + Wyczyść filtr + + + jest równe + + + jest późniejsze lub równe + + + jest późniejsze + + + jest wcześniejsze lub równe + + + jest wcześniejsze + + + jest inne niż + + + jest równe + + + jest większe lub równe + + + jest większe + + + jest mniejsze lub równe + + + jest mniejsze niż + + + jest inne niż + + + Pokaż wiersze o wartościach które + + + Kończy się na + + + jest równe + + + jest inne niż + + + Zaczyna się od + + + Zawiera + + + Przeciągnij nagłówek kolumny i upuść go tutaj aby pogrupować według tej kolumny + + + jest równe + + + jest inne niż + + + Czy na pewno chcesz usunąć ten rekord? + + + -Wybierz wartość- + + + fałsz + + + prawda + + + Brak danych + + + Cancel Changes + + + Save Changes + + + Odśwież + + + posortowane rosnąco + + + posortowane malejąco + + + rozgrupować + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.resx new file mode 100644 index 0000000..646b7b7 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-BR.resx @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Adicionar novo registro + + + Excluir + + + Cancelar + + + Atualizar + + + Inserir + + + Editar + + + Selecionar + + + Página + + + Exibindo itens {0} - {1} de {2} + + + de {0} + + + Filtro + + + E + + + Limpar Filtro + + + É igual a + + + É posterior ou igual a + + + É posterior a + + + É anterior ou igual a + + + É anterior a + + + Não é igual a + + + É igual a + + + É maior que ou igual a + + + É maior que + + + É menor que ou igual a + + + É menor que + + + Não é igual a + + + Exibir linhas com valores que + + + Termina com + + + É igual a + + + Não é igual a + + + Começa com + + + Contem + + + Arraste aqui o cabeçalho de uma coluna para agrupar por esta coluna + + + É igual a + + + Não é igual a + + + Você tem certeza que deseja excluir este registro? + + + É falsa + + + É verdade + + + No records to display. + + + Cancel Changes + + + Save Changes + + + Atualizar + + + ordenadas crescente + + + ordenadas descendente + + + desagrupar + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.resx new file mode 100644 index 0000000..c614813 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.pt-PT.resx @@ -0,0 +1,249 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Novo + + + Cancelar + + + Apagar + + + Pretende remover o registo? + + + Registos {0} - {1} de {2} + + + Editar + + + No records to display. + + + Filtro + + + e + + + Limpar + + + Igual + + + Maior ou igual que + + + Maior que + + + Menor ou igual que + + + Menor que + + + Diferente + + + Igual + + + Diferente + + + Igual + + + Maior ou igual que + + + Maior que + + + Menor ou igual que + + + Menor que + + + Diferente + + + -Seleccione um item- + + + Motrar as linhas com o valor + + + A acabar em + + + Igual + + + Diferente + + + A comecar com + + + Contem + + + Arraste uma coluna para este espaco para agrupar pelo valor da mesma... + + + Inserir + + + Pagina + + + de {0} + + + Seleccionar + + + Actualizar + + + Cancel Changes + + + Save Changes + + + Actualizar + + + ordenadas crescente + + + ordenadas descendente + + + desagrupar + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.resx new file mode 100644 index 0000000..a3d482c --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.ru-RU.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Создать новую запись + + + Удалить + + + Отмена + + + Обновить + + + Добавить + + + Изменить + + + Выбрать + + + Страница + + + Отображены записи {0} - {1} из {2} + + + из {0} + + + фильтровать + + + И + + + очистить фильтр + + + равна + + + после или равна + + + после + + + до или равна + + + до + + + не равна + + + равно + + + больше или равно + + + больше + + + меньше или равно + + + меньше + + + не равно + + + Строки со значениями + + + оканчивающимися на + + + равными + + + не равными + + + начинающимися на + + + содержащими + + + Переместите сюда заголовок колонки, чтобы сгрупировать записи из этой колонки + + + равно + + + не равно + + + Вы уверены, что хотите удалить эту запись? + + + -выберите- + + + ложь + + + истина + + + NoRecords + + + Cancel Changes + + + Save Changes + + + Обновить + + + отсортировано по возрастанию + + + отсортировано по убыванию + + + разгруппировать + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.resx b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.resx new file mode 100644 index 0000000..59f26f0 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/GridLocalization.uk-UA.resx @@ -0,0 +1,255 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Створити новий запис + + + Видалити + + + Скасувати + + + Оновити + + + Додати + + + Редагувати + + + Вибрати + + + Сторінка + + + Зображено записи {0} - {1} з {2} + + + з {0} + + + фільтрувати + + + І + + + очистити фільтр + + + рівними + + + після або рівна + + + після + + + до або рівними + + + до + + + не рівна + + + рівне + + + більше або рівними + + + більше + + + менше або рівними + + + менше + + + не рівними + + + Рядки із записами + + + закінчуються на + + + рівні + + + не рівні + + + починаються на + + + містять + + + Перетягніть сюди заголовок стовпця, щоб згрупувати записи з цього стовпця + + + рівними + + + не рівними + + + Ви впевнені, що бажаєте видалити даний запис? + + + -виберіть- + + + хиба + + + істина + + + немає записів + + + Cancel Changes + + + Save Changes + + + Оновити + + + відсортовано за зростанням + + + відсортовано за зменьшенням + + + розгрупувати + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.resx b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.resx new file mode 100644 index 0000000..02a4fd6 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.bg-BG.resx @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Спри + Cancel button text + + + Опитай отново + Retry button text + + + Избери... + Select button text + + + Премахни + Remove button text + + + Качи файловете + Upload button (visible when AutoUpload is set to false) + + + преместете с мишката файлове тук за да ги качите + Drag & Drop hint text + + + грешка + "failed" status text accessible by screen readers + + + качен + "uploaded" status text accessible by screen readers + + + качва се + "uploading" status text accessible by screen readers + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.designer.cs b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.designer.cs new file mode 100644 index 0000000..e69de29 diff --git a/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.resx b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.resx new file mode 100644 index 0000000..0380e02 --- /dev/null +++ b/CharityPortal/CharityPortal/App_GlobalResources/UploadLocalization.en-US.resx @@ -0,0 +1,156 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Cancel + Cancel button text + + + Retry + Retry button text + + + Select... + Select button text + + + Remove + Remove button text + + + Upload files + Upload button (visible when AutoUpload is set to false) + + + drop files here to upload + Drag & Drop hint text + + + failed + "failed" status text accessible by screen readers + + + uploaded + "uploaded" status text accessible by screen readers + + + uploading + "uploading" status text accessible by screen readers + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/CharityPortal.csproj b/CharityPortal/CharityPortal/CharityPortal.csproj new file mode 100644 index 0000000..81654f0 --- /dev/null +++ b/CharityPortal/CharityPortal/CharityPortal.csproj @@ -0,0 +1,809 @@ + + + + Debug + AnyCPU + + + 2.0 + {873FA52F-68B3-4B6E-843C-C7045F51C88B} + {E53F8FEA-EAE0-44A6-8774-FFD645390401};{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + CharityPortal + CharityPortal + v4.0 + false + false + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + + ..\packages\EntityFramework.4.1.10331.0\lib\EntityFramework.dll + + + + ..\packages\Newtonsoft.Json.4.0.2\lib\net40\Newtonsoft.Json.dll + + + + + + + + + + + + + + + + + + + + + + + + + ..\lib\Telerik.Web.Mvc.dll + + + + + True + True + EditorLocalization.bg-BG.resx + + + True + True + EditorLocalization.de-DE.resx + + + True + True + EditorLocalization.en-US.resx + + + True + True + EditorLocalization.fr-FR.resx + + + True + True + EditorLocalization.pl-PL.resx + + + True + True + EditorLocalization.pt-BR.resx + + + True + True + EditorLocalization.ru-RU.resx + + + True + True + EditorLocalization.uk-UA.resx + + + True + True + GridLocalization.bg-BG.resx + + + True + True + GridLocalization.de-DE.resx + + + True + True + GridLocalization.en-US.resx + + + True + True + GridLocalization.es-ES.resx + + + True + True + GridLocalization.fr-FR.resx + + + True + True + GridLocalization.pl-PL.resx + + + True + True + GridLocalization.pt-BR.resx + + + True + True + GridLocalization.pt-PT.resx + + + True + True + GridLocalization.ru-RU.resx + + + True + True + GridLocalization.uk-UA.resx + + + True + True + UploadLocalization.bg-BG.resx + + + True + True + UploadLocalization.en-US.resx + + + + + + + + + + + Global.asax + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Web.config + + + Web.config + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {1D773A47-6822-4511-9B27-B37386F866DD} + CharityPortal.Data + + + + + + + + + + + + + + + + + GlobalResourceProxyGenerator + EditorLocalization.bg-BG.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.de-DE.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.en-US.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.fr-FR.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.pl-PL.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.pt-BR.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.ru-RU.designer.cs + + + + + GlobalResourceProxyGenerator + EditorLocalization.uk-UA.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.bg-BG.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.de-DE.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.en-US.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.es-ES.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.fr-FR.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.pl-PL.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.pt-BR.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.pt-PT.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.ru-RU.designer.cs + + + + + GlobalResourceProxyGenerator + GridLocalization.uk-UA.designer.cs + + + + + GlobalResourceProxyGenerator + UploadLocalization.bg-BG.designer.cs + + + + + GlobalResourceProxyGenerator + UploadLocalization.en-US.designer.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + False + True + 56070 + / + + + False + False + + + False + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Black/editor.png new file mode 100644 index 0000000..456f9c5 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Black/imagebrowser.png new file mode 100644 index 0000000..4b723a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/loading.gif new file mode 100644 index 0000000..1079b7a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-both.gif new file mode 100644 index 0000000..232f90b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-bottom.gif new file mode 100644 index 0000000..ee02b41 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-top.gif new file mode 100644 index 0000000..4de0f27 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-both.gif new file mode 100644 index 0000000..5157205 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-bottom.gif new file mode 100644 index 0000000..4813fd3 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-top.gif new file mode 100644 index 0000000..7f58411 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-both.gif new file mode 100644 index 0000000..e9d2668 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-left.gif new file mode 100644 index 0000000..303b45a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-right.gif new file mode 100644 index 0000000..3473493 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-both.gif new file mode 100644 index 0000000..20d90e1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-left.gif new file mode 100644 index 0000000..ba4966b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-right.gif new file mode 100644 index 0000000..88bf21c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite-vertical.png new file mode 100644 index 0000000..6754eee Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite.png new file mode 100644 index 0000000..8243762 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-line.png new file mode 100644 index 0000000..631eb55 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes-rtl.png new file mode 100644 index 0000000..5f249c6 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Black/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Default/editor.png new file mode 100644 index 0000000..3114145 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Default/imagebrowser.png new file mode 100644 index 0000000..11252f2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/loading.gif new file mode 100644 index 0000000..67065a6 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-both.gif new file mode 100644 index 0000000..6bf9786 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-bottom.gif new file mode 100644 index 0000000..e46ce52 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-top.gif new file mode 100644 index 0000000..ef76ca5 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-both.gif new file mode 100644 index 0000000..ff85fa7 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-bottom.gif new file mode 100644 index 0000000..4ed2658 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-top.gif new file mode 100644 index 0000000..7d8dbde Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-both.gif new file mode 100644 index 0000000..e955d4f Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-left.gif new file mode 100644 index 0000000..0ff99d3 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-right.gif new file mode 100644 index 0000000..6fea063 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-both.gif new file mode 100644 index 0000000..cfb829d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-left.gif new file mode 100644 index 0000000..b091822 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-right.gif new file mode 100644 index 0000000..b8196da Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite-vertical.png new file mode 100644 index 0000000..122af80 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite.png new file mode 100644 index 0000000..2da9604 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Default/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/editor.png new file mode 100644 index 0000000..a4bf2d1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/imagebrowser.png new file mode 100644 index 0000000..34a8470 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/loading.gif new file mode 100644 index 0000000..b8453f0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-both.gif new file mode 100644 index 0000000..7cc8e47 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-bottom.gif new file mode 100644 index 0000000..229b17c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-top.gif new file mode 100644 index 0000000..bf144da Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-both.gif new file mode 100644 index 0000000..bdd5cd3 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-bottom.gif new file mode 100644 index 0000000..55070b6 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-top.gif new file mode 100644 index 0000000..1c8edf4 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-both.gif new file mode 100644 index 0000000..024c90f Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-left.gif new file mode 100644 index 0000000..5164a27 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-right.gif new file mode 100644 index 0000000..bb5b43c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-both.gif new file mode 100644 index 0000000..88668cc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-left.gif new file mode 100644 index 0000000..991aa9d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-right.gif new file mode 100644 index 0000000..34bee57 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite-vertical.png new file mode 100644 index 0000000..5d3ec80 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite.png new file mode 100644 index 0000000..5a32779 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Forest/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/editor.png new file mode 100644 index 0000000..0af0168 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/imagebrowser.png new file mode 100644 index 0000000..73e5c8c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/loading.gif new file mode 100644 index 0000000..f316fdc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-both.gif new file mode 100644 index 0000000..159ad70 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-bottom.gif new file mode 100644 index 0000000..fe017fe Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-top.gif new file mode 100644 index 0000000..ce4da95 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-both.gif new file mode 100644 index 0000000..01344b6 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-bottom.gif new file mode 100644 index 0000000..512c261 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-top.gif new file mode 100644 index 0000000..10fb363 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-both.gif new file mode 100644 index 0000000..d293ca8 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-left.gif new file mode 100644 index 0000000..2ab7af7 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-right.gif new file mode 100644 index 0000000..69d04a9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-both.gif new file mode 100644 index 0000000..afb7963 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-left.gif new file mode 100644 index 0000000..48bfb19 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-right.gif new file mode 100644 index 0000000..a19b1b9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite-vertical.png new file mode 100644 index 0000000..6f83f17 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite.png new file mode 100644 index 0000000..504abdc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Hay/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/editor.png new file mode 100644 index 0000000..3bb258c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/imagebrowser.png new file mode 100644 index 0000000..f6dc921 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/loading.gif new file mode 100644 index 0000000..daec89e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-both.gif new file mode 100644 index 0000000..0f9e07a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-bottom.gif new file mode 100644 index 0000000..2f5a254 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-top.gif new file mode 100644 index 0000000..92d55a3 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-both.gif new file mode 100644 index 0000000..813ce80 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-bottom.gif new file mode 100644 index 0000000..9cb545c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-top.gif new file mode 100644 index 0000000..846db85 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-both.gif new file mode 100644 index 0000000..a9ddf68 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-left.gif new file mode 100644 index 0000000..7c4fbcc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-right.gif new file mode 100644 index 0000000..5bb2c46 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-both.gif new file mode 100644 index 0000000..965a705 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-left.gif new file mode 100644 index 0000000..d082a80 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-right.gif new file mode 100644 index 0000000..8be02c7 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite-vertical.png new file mode 100644 index 0000000..8387e77 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite.png new file mode 100644 index 0000000..94c141a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2007/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/editor.png new file mode 100644 index 0000000..5b5eff0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/imagebrowser.png new file mode 100644 index 0000000..21c5123 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/loading.gif new file mode 100644 index 0000000..daec89e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-both.gif new file mode 100644 index 0000000..90c9da6 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-bottom.gif new file mode 100644 index 0000000..cc3fe0c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-top.gif new file mode 100644 index 0000000..0837661 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-both.gif new file mode 100644 index 0000000..f8309be Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-bottom.gif new file mode 100644 index 0000000..59525fa Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-top.gif new file mode 100644 index 0000000..d9d7590 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-both.gif new file mode 100644 index 0000000..cd45570 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-left.gif new file mode 100644 index 0000000..f633df2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-right.gif new file mode 100644 index 0000000..f2bcb6a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-both.gif new file mode 100644 index 0000000..1b253a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-left.gif new file mode 100644 index 0000000..53469b4 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-right.gif new file mode 100644 index 0000000..b7eeafb Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite-vertical.png new file mode 100644 index 0000000..f95314d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite.png new file mode 100644 index 0000000..9675b84 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Office2010Black/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/editor.png new file mode 100644 index 0000000..2f88b4a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/imagebrowser.png new file mode 100644 index 0000000..a6ada8c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/loading.gif new file mode 100644 index 0000000..daec89e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-both.gif new file mode 100644 index 0000000..239457d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-bottom.gif new file mode 100644 index 0000000..28efd88 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-top.gif new file mode 100644 index 0000000..c366f79 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-both.gif new file mode 100644 index 0000000..db1646d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-bottom.gif new file mode 100644 index 0000000..4a517d8 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-top.gif new file mode 100644 index 0000000..0a2c03a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-both.gif new file mode 100644 index 0000000..5152a60 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-left.gif new file mode 100644 index 0000000..cf44e30 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-right.gif new file mode 100644 index 0000000..f08d556 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-both.gif new file mode 100644 index 0000000..2701a73 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-left.gif new file mode 100644 index 0000000..37f5029 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-right.gif new file mode 100644 index 0000000..c4ad20e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite-vertical.png new file mode 100644 index 0000000..78a4605 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite.png new file mode 100644 index 0000000..2bc5203 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Outlook/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/editor.png new file mode 100644 index 0000000..bea6d33 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/imagebrowser.png new file mode 100644 index 0000000..02ba545 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/loading.gif new file mode 100644 index 0000000..daec89e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-both.gif new file mode 100644 index 0000000..d35e821 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-bottom.gif new file mode 100644 index 0000000..ecbd4e5 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-top.gif new file mode 100644 index 0000000..ae27de3 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-both.gif new file mode 100644 index 0000000..db1646d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-bottom.gif new file mode 100644 index 0000000..4a517d8 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-top.gif new file mode 100644 index 0000000..0a2c03a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-both.gif new file mode 100644 index 0000000..ec1b658 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-left.gif new file mode 100644 index 0000000..d71cc4d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-right.gif new file mode 100644 index 0000000..ee99d7a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-both.gif new file mode 100644 index 0000000..2701a73 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-left.gif new file mode 100644 index 0000000..37f5029 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-right.gif new file mode 100644 index 0000000..c4ad20e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite-vertical.png new file mode 100644 index 0000000..8141eff Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite.png new file mode 100644 index 0000000..d41c787 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Simple/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/editor.png new file mode 100644 index 0000000..57a0ca9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/imagebrowser.png new file mode 100644 index 0000000..02ba545 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/loading.gif new file mode 100644 index 0000000..3c4d61e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-both.gif new file mode 100644 index 0000000..3bbe405 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-bottom.gif new file mode 100644 index 0000000..ff879a4 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-top.gif new file mode 100644 index 0000000..c8c8c91 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-both.gif new file mode 100644 index 0000000..61021f3 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-bottom.gif new file mode 100644 index 0000000..ff93f91 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-top.gif new file mode 100644 index 0000000..fe8a3c1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-both.gif new file mode 100644 index 0000000..3a4e57b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-left.gif new file mode 100644 index 0000000..335fcfc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-right.gif new file mode 100644 index 0000000..810e4fc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-both.gif new file mode 100644 index 0000000..e8a38dd Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-left.gif new file mode 100644 index 0000000..731e969 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-right.gif new file mode 100644 index 0000000..a21bf27 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite-vertical.png new file mode 100644 index 0000000..2bfcefd Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite.png new file mode 100644 index 0000000..fbd6fc0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sitefinity/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/editor.png new file mode 100644 index 0000000..3bdf9d6 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/imagebrowser.png new file mode 100644 index 0000000..73a4233 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/loading.gif new file mode 100644 index 0000000..f5c95b7 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-both.gif new file mode 100644 index 0000000..bc921d1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-bottom.gif new file mode 100644 index 0000000..94b44b9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-top.gif new file mode 100644 index 0000000..9faebc9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-both.gif new file mode 100644 index 0000000..e5506a9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-bottom.gif new file mode 100644 index 0000000..995dd62 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-top.gif new file mode 100644 index 0000000..8b24a97 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-both.gif new file mode 100644 index 0000000..6c1587a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-left.gif new file mode 100644 index 0000000..58ed32b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-right.gif new file mode 100644 index 0000000..86db7da Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-both.gif new file mode 100644 index 0000000..ab59acd Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-left.gif new file mode 100644 index 0000000..d68aa9d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-right.gif new file mode 100644 index 0000000..211fedb Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite-vertical.png new file mode 100644 index 0000000..21638be Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite.png new file mode 100644 index 0000000..527b17a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Sunset/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/editor.png new file mode 100644 index 0000000..239e092 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/imagebrowser.png new file mode 100644 index 0000000..e13cb46 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/loading.gif new file mode 100644 index 0000000..23580e3 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-both.gif new file mode 100644 index 0000000..ec62f09 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-bottom.gif new file mode 100644 index 0000000..e0ebc00 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-top.gif new file mode 100644 index 0000000..acff978 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-both.gif new file mode 100644 index 0000000..20f39b8 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-bottom.gif new file mode 100644 index 0000000..d69c801 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-top.gif new file mode 100644 index 0000000..d11c777 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-both.gif new file mode 100644 index 0000000..921c798 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-left.gif new file mode 100644 index 0000000..9ea9523 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-right.gif new file mode 100644 index 0000000..af28058 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-both.gif new file mode 100644 index 0000000..aefe346 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-left.gif new file mode 100644 index 0000000..e5e9554 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-right.gif new file mode 100644 index 0000000..ede293b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite-vertical.png new file mode 100644 index 0000000..c67746b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite.png new file mode 100644 index 0000000..7accb77 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Telerik/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/editor.png new file mode 100644 index 0000000..c66c631 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/imagebrowser.png new file mode 100644 index 0000000..700fc0f Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/loading.gif new file mode 100644 index 0000000..0bf1b7d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-both.gif new file mode 100644 index 0000000..ec62f09 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-bottom.gif new file mode 100644 index 0000000..e0ebc00 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-top.gif new file mode 100644 index 0000000..acff978 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-both.gif new file mode 100644 index 0000000..20f39b8 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-bottom.gif new file mode 100644 index 0000000..d69c801 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-top.gif new file mode 100644 index 0000000..d11c777 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-both.gif new file mode 100644 index 0000000..921c798 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-left.gif new file mode 100644 index 0000000..9ea9523 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-right.gif new file mode 100644 index 0000000..af28058 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-both.gif new file mode 100644 index 0000000..aefe346 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-left.gif new file mode 100644 index 0000000..e5e9554 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-right.gif new file mode 100644 index 0000000..ede293b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite-vertical.png new file mode 100644 index 0000000..cf27f54 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite.png new file mode 100644 index 0000000..f1172d7 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Vista/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/editor.png new file mode 100644 index 0000000..23d13e0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/imagebrowser.png new file mode 100644 index 0000000..05056e6 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/loading.gif new file mode 100644 index 0000000..0705057 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-both.gif new file mode 100644 index 0000000..b9a27e9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-bottom.gif new file mode 100644 index 0000000..5637f32 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-top.gif new file mode 100644 index 0000000..123346e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-both.gif new file mode 100644 index 0000000..665815b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-bottom.gif new file mode 100644 index 0000000..028d077 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-top.gif new file mode 100644 index 0000000..39f034e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-both.gif new file mode 100644 index 0000000..7ca3052 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-left.gif new file mode 100644 index 0000000..1f372d9 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-right.gif new file mode 100644 index 0000000..ccef006 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-both.gif new file mode 100644 index 0000000..9599042 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-left.gif new file mode 100644 index 0000000..127ac2e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-right.gif new file mode 100644 index 0000000..4c4cf17 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite-vertical.png new file mode 100644 index 0000000..f1c9ad0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite.png new file mode 100644 index 0000000..35c32b8 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-line.png new file mode 100644 index 0000000..0c03dc1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Web20/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/editor.png new file mode 100644 index 0000000..fdc2239 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/imagebrowser.png new file mode 100644 index 0000000..02ab51d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/loading.gif new file mode 100644 index 0000000..9ed7d0c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-both.gif new file mode 100644 index 0000000..bfff539 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-bottom.gif new file mode 100644 index 0000000..ef225da Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-top.gif new file mode 100644 index 0000000..55ac91b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-both.gif new file mode 100644 index 0000000..4cded41 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-bottom.gif new file mode 100644 index 0000000..b824e6e Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-top.gif new file mode 100644 index 0000000..78cf218 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-both.gif new file mode 100644 index 0000000..7538b47 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-left.gif new file mode 100644 index 0000000..06c702f Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-right.gif new file mode 100644 index 0000000..119c3c0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-both.gif new file mode 100644 index 0000000..bbe0f32 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-left.gif new file mode 100644 index 0000000..3ced62c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-right.gif new file mode 100644 index 0000000..42c87e0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite-vertical.png new file mode 100644 index 0000000..ee03f9a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite.png new file mode 100644 index 0000000..daa8432 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-line.png b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-line.png new file mode 100644 index 0000000..631eb55 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-line.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes-rtl.png b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes-rtl.png new file mode 100644 index 0000000..594e4a2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes-rtl.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes.png b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes.png new file mode 100644 index 0000000..f498056 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/WebBlue/treeview-nodes.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/editor.png b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/editor.png new file mode 100644 index 0000000..18f9f0d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/editor.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/imagebrowser.png b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/imagebrowser.png new file mode 100644 index 0000000..ca9a253 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/imagebrowser.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/loading.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/loading.gif new file mode 100644 index 0000000..c546325 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/loading.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-both.gif new file mode 100644 index 0000000..3bb6024 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-bottom.gif new file mode 100644 index 0000000..0985bbc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-top.gif new file mode 100644 index 0000000..4c1b103 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-h-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-both.gif new file mode 100644 index 0000000..0cc2381 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-bottom.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-bottom.gif new file mode 100644 index 0000000..c55ebd0 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-bottom.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-top.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-top.gif new file mode 100644 index 0000000..a89c03b Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-hs-top.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-both.gif new file mode 100644 index 0000000..19fbfaa Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-left.gif new file mode 100644 index 0000000..5f9ba6a Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-right.gif new file mode 100644 index 0000000..b8dfb02 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-v-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-both.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-both.gif new file mode 100644 index 0000000..0f7196f Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-both.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-left.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-left.gif new file mode 100644 index 0000000..5d90811 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-left.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-right.gif b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-right.gif new file mode 100644 index 0000000..e68a323 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/slider-vs-right.gif differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite-vertical.png b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite-vertical.png new file mode 100644 index 0000000..696e97d Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite-vertical.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite.png b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite.png new file mode 100644 index 0000000..0a96b13 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/2011.1.315/Windows7/sprite.png differ diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.black.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.black.min.css new file mode 100644 index 0000000..a795208 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.black.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#080808;background-color:#4f4f4f;}.t-header,.t-grid-header{border-color:#080808;background:#050505 url('Black/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Black/sprite.png');}.t-editor .t-tool-icon{background-image:url('Black/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-32px -162px;}.t-numerictextbox .t-arrow-down{background-position:-32px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Black/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#fff;}.t-other-month .t-link{color:#6f6f6f;}.t-group,.t-content,.t-editable-area{border-color:#080808;background-color:#4f4f4f;}.t-colorpicker .t-arrow-down{border-color:#080808;}.t-separator{border-color:#323232;background-color:#080808;}.t-alt{background-color:#494949;}.t-state-default{border-color:#080808;}.t-active-filter{background-color:#363636;}.t-state-hover,.t-state-hover .t-link{color:#9eda29;}.t-state-hover,.t-state-hover:hover{background-color:#2c2c2c;border-color:#080808;}.t-state-active{background-color:#4f4f4f;border-color:#080808;}.t-state-selected{background:#1c1c1c;border-color:#000;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#080808;color:#fff;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#050505 url('Black/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#131313;color:#9eda29;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#787878;}.t-header .t-state-disabled{border-color:#4f4f4f;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#080808;background-color:#2c2c2c;}.t-grid td{border-color:#454545;border-right:1px solid #454545;}.t-grouping-row td{background:#4f4f4f url('Black/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#2e2e2e;border-color:#080808 #2e2e2e;}.t-group-footer td{background-color:#2e2e2e;border-color:#080808;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#2e2e2e;border-color:#080808;}.t-grouping-header .t-group-indicator{color:#333;border-color:#666;}.t-grouping-dropclue{background:url('Black/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#4f4f4f;}.t-drag-clue{color:#fff;}.t-treeview .t-drop-clue{background-image:url('Black/sprite.png');background-position:0 -358px;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#000;}.t-filter-options,.t-menu .t-group{-moz-box-shadow:2px 2px 2px #333;-webkit-box-shadow:2px 2px 2px #333;box-shadow:2px 2px 2px #333;}.t-calendar th{background-color:#383838;border-color:#202020;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Black/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Black/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Black/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-window{-moz-box-shadow:0 0 5px 2px #222;-webkit-box-shadow:0 0 5px 2px #222;box-shadow:0 0 5px 2px #222;}.t-editor-button .t-state-hover{border-color:#565656 #111 #111 #565656;background-color:#232323;}.t-editor-button .t-state-active{border-color:#030303 #1f1f1f #1f1f1f #030303;background-color:#050505;}.t-slider .t-draghandle{background-image:url('Black/sprite.png');color:#080808;}.t-slider-track{border-color:#4a4a4a;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Black/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Black/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Black/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Black/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Black/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Black/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Black/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Black/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Black/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Black/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Black/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Black/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Black/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Black/slider-v-right.gif');}.t-tooltip{background:#050505 0 -560px repeat-x url('Black/sprite.png');}.t-callout{background-image:url('Black/sprite.png');}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#262628;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Black/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Black/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#080808;}.t-dropzone-hovered,.t-upload-files{background-color:#2c2c2c;}.t-dropzone em{color:#848484;}.t-progress,.t-progress-status{background-image:url('Black/sprite.png');}.t-progress{background-position:0 -465px;border-color:#4a4a4a #474747;}.t-progress-status{background-position:0 -472px;border-color:#9eda29 transparent #456408;}.t-imagebrowser .t-content{background:#3d3d3d;}.t-breadcrumbs .t-link{color:#000;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label,.t-tiles-arrange{color:#a1a1a1;}.t-tiles-toolbar{border-color:#080808;}.t-tiles-toolbar .t-upload .t-button,.t-tiles-arrange a{color:#fff;}.t-tiles{border-color:#222;background:#4f4f4f;}.t-tile{border-color:#4f4f4f;background:0 100px repeat-x url('Black/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#080808;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#080808;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Black/imagebrowser.png');}.t-tile em,.t-tile .t-filesize,.t-tile-empty strong{color:#7d7d7d;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.common.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.common.min.css new file mode 100644 index 0000000..c647833 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.common.min.css @@ -0,0 +1 @@ +.t-reset{margin:0;padding:0;border:0;outline:0;text-decoration:none;font-size:100%;list-style:none;}.t-floatwrap:after{content:"";display:block;clear:both;visibility:hidden;height:0;overflow:hidden;}.t-floatwrap{display:inline-block;}.t-floatwrap{display:block;}.t-widget,.t-widget .t-input,.t-widget .text-box,.t-button{font-size:100%;}.t-widget{border-width:1px;border-style:solid;}.t-link{cursor:pointer;outline:none;}html body .t-button{text-decoration:none;}.t-button{display:inline-block;margin:0;padding:2px 6px;border-width:1px;border-style:solid;font-family:inherit;font-size:100%;line-height:1.435;text-align:center;cursor:pointer;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}*+html .t-button{display:inline;zoom:1;}* html .t-button{display:inline;zoom:1;}*+html .t-button{overflow:visible;margin-right:4px;}* html .t-button{overflow:visible;margin-right:4px;}*+html .t-button-expand{margin-right:0;}* html .t-button-expand{margin-right:0;}*+html a.t-button{line-height:1.6;padding-left:7px;padding-right:7px;}* html a.t-button{line-height:1.6;padding-left:7px;padding-right:7px;}.t-button-icontext{line-height:1.453;}a.t-button{-moz-padding-start:9px;-moz-padding-end:9px;}a.t-button-expand{display:block;}button.t-button-expand{width:100%;}body .t-button-icon{padding-left:4px;padding-right:4px;}button.t-button-icon{-moz-padding-start:1px;-moz-padding-end:1px;}*+html a.t-button-icon{padding-left:5px;padding-right:5px;}* html a.t-button-icon{padding-left:5px;padding-right:5px;}.t-button-icontext{padding-right:8px;overflow:visible;}a.t-button-icontext{-moz-padding-end:11px;}.t-button-icontext .t-icon{margin:0 3px 0 -3px;vertical-align:top;}*+html .t-button-icontext .t-icon{margin-right:4px;}* html .t-button-icontext .t-icon{margin-right:4px;}html body .t-button-bare{background:none!important;border-width:0;}.t-icon,.t-editor-button .t-tool-icon{background-color:transparent;background-repeat:no-repeat;}.t-header .t-link{text-decoration:none;}.t-state-disabled,.t-state-disabled .t-link{cursor:default;outline:none;}.t-icon,.t-sprite,.t-editor-button .t-tool-icon{display:inline-block;width:16px;height:16px;overflow:hidden;font-size:0;line-height:0;text-indent:-3333px;text-align:center;vertical-align:middle;}* html .t-icon,* html .t-sprite,* html .t-editor-button .t-tool-icon{display:inline;zoom:1;}* html .t-icon,.t-sprite{text-indent:0;}*+html .t-icon,.t-sprite{text-indent:0;}.t-image{border:0;}.t-state-empty{font-style:italic;}div.t-window{display:inline-block;*display:inline;zoom:1;z-index:10001;position:absolute;border-width:0;border-width:5px\9;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;-moz-box-shadow:0 0 5px 2px #aaa;-webkit-box-shadow:0 0 5px 2px #aaa;box-shadow:0 0 5px 2px #aaa;}:root .t-window{border-width:0;}.t-window-titlebar{padding:.4em 0;font-size:1.2em;line-height:1.2em;white-space:nowrap;border-bottom-width:1px;border-bottom-style:solid;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;}.t-window-title{cursor:default;position:absolute;text-overflow:ellipsis;overflow:hidden;left:.5em;right:.5em;}.t-window-title .t-image{margin:0 5px 0 0;vertical-align:middle;}div.t-window-content{padding:.4em .5em;overflow:auto;position:relative;-moz-border-radius-bottomleft:4px;-moz-border-radius-bottomright:4px;-webkit-border-bottom-left-radius:4px;-webkit-border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-bottom-right-radius:4px;}.t-window-titlebar .t-window-actions{position:absolute;right:.5em;top:0;padding-top:.3em;white-space:nowrap;}.t-window-titlebar .t-window-action{width:16px;height:16px;padding:2px;text-decoration:none;vertical-align:middle;display:inline-block;*display:inline;zoom:1;opacity:.7;filter:alpha(opacity=70);}.t-window-titlebar .t-state-hover{border-width:1px;border-style:solid;padding:1px;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;opacity:1;filter:alpha(opacity=100);}.t-window-action .t-icon{margin:0;vertical-align:top;}.t-window .t-resize-handle{position:absolute;z-index:1;background-color:#fff;opacity:0;filter:alpha(opacity=0);zoom:1;line-height:6px;font-size:0;}.t-resize-n{top:-3px;left:0;width:100%;height:6px;cursor:n-resize;}.t-resize-e{top:0;right:-3px;width:6px;height:100%;cursor:e-resize;}.t-resize-s{bottom:-3px;left:0;width:100%;height:6px;cursor:s-resize;}.t-resize-w{top:0;left:-3px;width:6px;height:100%;cursor:w-resize;}.t-resize-se{bottom:-3px;right:-3px;width:16px;height:16px;cursor:se-resize;}.t-resize-sw{bottom:-3px;left:-3px;width:6px;height:6px;cursor:sw-resize;}.t-resize-ne{top:-3px;right:-3px;width:6px;height:6px;cursor:ne-resize;}.t-resize-nw{top:-3px;left:-3px;width:6px;height:6px;cursor:nw-resize;}.t-overlay{width:100%;height:100%;position:fixed;top:0;left:0;background-color:#000;filter:alpha(opacity=50);opacity:.5;z-index:10000;}.t-window .t-overlay{background-color:#fff;opacity:0;filter:alpha(opacity=0);position:absolute;width:100%;height:100%;}.t-window .t-widget{z-index:10002;}.t-tabstrip{margin:0;padding:0;zoom:1;}.t-tabstrip .t-tabstrip-items{padding:0 .3em;}.t-tabstrip-items .t-item,.t-panelbar .t-tabstrip-items .t-item{list-style-type:none;vertical-align:top;display:inline-block;*display:inline;zoom:1;border-width:1px 1px 0;border-style:solid;margin:.1em .3em 0 0;padding:0;position:relative;-moz-border-radius-topleft:5px;-moz-border-radius-topright:5px;-webkit-border-top-left-radius:5px;-webkit-border-top-right-radius:5px;border-top-left-radius:5px;border-top-right-radius:5px;}.t-tabstrip-items .t-state-active,.t-panelbar .t-tabstrip-items .t-state-active{padding-bottom:1px;margin-bottom:-1px;}.t-tabstrip-items .t-link,.t-panelbar .t-tabstrip-items .t-link{padding:.3em .9em;display:inline-block;*display:inline;zoom:1;border-bottom-width:0;outline:0;}.t-tabstrip-items .t-icon,.t-panelbar .t-tabstrip-items .t-icon{margin:-1px 4px 0 -3px;vertical-align:top;}.t-tabstrip-items .t-item .t-image,.t-tabstrip-items .t-item .t-sprite,.t-panelbar .t-tabstrip-items .t-item .t-image,.t-panelbar .t-tabstrip-items .t-item .t-sprite{vertical-align:middle;margin:-3px 3px 0 -6px;}* html .t-tabstrip-items .t-item .t-image,* html .t-tabstrip-items .t-item .t-sprite{vertical-align:top;margin-top:-1px;}*+html .t-tabstrip-items .t-item .t-image,*+html .t-tabstrip-items .t-item .t-sprite{vertical-align:top;margin-top:-1px;}.t-tabstrip .t-content,.t-panelbar .t-tabstrip .t-content{border-width:1px;border-style:solid;margin:0 .3em .3em;padding:.3em 1em;display:none;position:static;zoom:1;}.t-panelbar{zoom:1;}.t-panelbar .t-item{list-style-type:none;display:block;zoom:1;margin:0;top:0;border-width:0;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;}.t-panelbar .t-image,.t-panelbar .t-sprite{vertical-align:middle;margin-right:5px;margin-top:4px;float:left;}.t-panelbar .t-group .t-image,.t-panelbar .t-group .t-sprite{margin-top:1px;}.t-panelbar .t-link{line-height:2.05em;padding:0 1em;border-bottom:1px solid;display:block;position:relative;text-decoration:none;zoom:1;}.t-panelbar-expand,.t-panelbar-collapse{position:absolute;top:5px;right:2px;}.t-panelbar .t-group,.t-panelbar .t-content{position:relative;zoom:1;padding:0;margin:0;border-bottom-width:1px;border-bottom-style:solid;}.t-panelbar .t-group .t-link{line-height:1.7em;border-bottom:0;font-size:.95em;}.t-panelbar .t-group .t-arrow-up,.t-panelbar .t-group .t-arrow-down{top:2px;}.t-panelbar .t-group .t-group .t-link{padding-left:2em;}.t-panelbar .t-last .t-link{border-bottom:0;}.t-panelbar .t-group .t-group{border-bottom:0;}.t-tabstrip .t-panelbar .t-content{display:block;}.t-menu{cursor:default;}.t-menu,.t-menu .t-group{list-style:none;padding:0;margin:0;zoom:1;}.t-menu .t-group .t-link{padding-right:2em;}.t-menu .t-item{position:relative;display:inline-block;*display:inline;zoom:1;border-width:0 1px 0 0;border-style:solid;vertical-align:top;}.t-menu-vertical .t-item{display:block;border-width:0;}.t-menu .t-image,.t-menu .t-sprite{margin:0 4px 0 -4px;vertical-align:top;}.t-menu .t-link{text-decoration:none;padding:.25em .97em;display:block;}.t-menu .t-group{display:none;white-space:nowrap;border-style:solid;border-width:1px;overflow:visible;-moz-box-shadow:2px 2px 2px #aaa;-webkit-box-shadow:2px 2px 2px #aaa;box-shadow:2px 2px 2px #aaa;}.t-menu .t-group .t-item{display:block;border-width:0;}.t-menu .t-group .t-link{zoom:1;}.t-menu .t-arrow-down{margin-left:2px;margin-right:-10px;vertical-align:top;}.t-menu .t-arrow-next{position:absolute;right:0;top:3px;}.t-menu .t-animation-container,.t-menu .t-group{left:-1px;position:absolute;}.t-menu .t-animation-container .t-animation-container,.t-menu .t-group .t-group{left:100%;top:-1px;}.t-menu-vertical .t-animation-container,.t-menu-vertical .t-group{left:100%;top:-1px;}.t-menu .t-animation-container .t-group{left:auto;top:auto;}.t-grid{position:relative;zoom:1;}.t-grid table{width:100%;border-collapse:separate;empty-cells:show;border:0;}.t-grid-header .t-header{text-align:left;}.t-grid-header .t-header,.t-grid-header .t-last-header{padding:.3em .6em;border-width:0 1px 1px 0;border-style:solid;font-weight:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}.t-grid-header .t-last-header{border-right-width:0;}.t-grid-header .t-header .t-link{line-height:18px;height:18px;display:block;margin:-.3em -.6em;padding:.3em 2.4em .3em .6em;border:0;}.t-grid-header .t-header .t-icon{position:static;}.t-grid .t-state-hover{cursor:pointer;}.t-grid td{padding:.25em .6em;border:0;vertical-align:middle;line-height:1.6em;overflow:hidden;text-overflow:ellipsis;}.t-grid .t-last{border-right-width:0;border-bottom-width:0;}.t-grid-header-wrap,.t-grid-footer-wrap{position:relative;overflow:hidden;width:100%;zoom:1;}div.t-grid-header,div.t-grid-footer{padding-right:17px;zoom:1;border-bottom-width:1px;border-bottom-style:solid;}div.t-grid-header .t-header,div.t-grid-header .t-last-header{border-bottom-width:0;}div.t-grid-header .t-last-header{border-right-width:1px;}.t-grid-content{position:relative;overflow:auto;overflow-x:auto;overflow-y:scroll;width:100%;zoom:1;}.t-grid-header table,.t-grid-content table,.t-grid-footer table{table-layout:fixed;}* html .t-grid-content table{width:auto;}*+html .t-grid-content table{width:auto;}.t-grid-pager{padding:.2em .6em;line-height:1.8em;overflow:auto;}.t-grid-top{border-width:0 0 1px;border-style:solid;}.t-grid-bottom{border-width:1px 0 0;border-style:solid;}* html .t-grid-pager input{vertical-align:middle;}*+html .t-grid-pager input{vertical-align:middle;}.t-grid .t-pager,.t-grid .t-status,.t-grid .t-status-text,.t-pager .t-numeric,.t-pager .t-page-i-of-n,.t-pager .t-link,.t-pager span,.t-pager input,.t-pager .t-page-size,.t-grouping-row p{display:inline-block;*display:inline;zoom:1;vertical-align:middle;}.t-pager .t-page-size{line-height:1.2em;}.t-footer-template td{border-width:1px 1px 0 0;border-style:solid;}.t-group-footer td,.t-group-footer .t-last{border-width:1px 0;border-style:solid;}.t-grid-footer{border-style:solid;border-width:1px 0 0;}.t-grid-footer td{border-top-width:0;}.t-grid .t-status{float:left;margin:-.2em .6em -.2em -.6em;padding:.2em .6em;height:1.85em;border-right-width:1px;border-right-style:solid;}.t-grid .t-pager{float:left;cursor:default;}.t-grid .t-status-text{float:right;margin-right:.2em;}.t-pager .t-link{text-decoration:none;padding:1px;margin-top:.2em;border:0;line-height:16px;}.t-pager .t-state-active,.t-pager .t-state-hover{padding:0;border-width:1px;border-style:solid;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.t-pager span,.t-pager .t-link{vertical-align:top;}.t-pager .t-numeric,.t-pager .t-page-i-of-n{margin:0 7px;vertical-align:top;}.t-numeric .t-link,.t-numeric .t-state-active{margin-top:0;padding:0 5px;line-height:22px;vertical-align:top;}.t-numeric .t-state-active,.t-numeric .t-state-hover{padding:0 4px;line-height:20px;}.t-page-i-of-n input{width:2em;vertical-align:baseline;font-size:1em;}.t-grid-pager .t-status .t-icon{vertical-align:top;margin-top:3px;}.t-grid-filter{float:right;height:18px;padding:.3em .2em;position:relative;display:inline-block;*display:inline;zoom:1;margin:-1.8em -.6em -.3em 3px;margin-top:-.3em\9;}.t-link+.t-grid-filter{margin-top:-1.8em\9;}*+html .t-grid .t-grid-filter{margin-top:-1.8em;}.t-grid-filter .t-icon{vertical-align:top;}.t-grid .t-animation-container{position:absolute;}.t-filter-options{position:absolute;border-width:1px;border-style:solid;padding:3px;width:148px;-moz-box-shadow:2px 2px 2px #aaa;-webkit-box-shadow:2px 2px 2px #aaa;box-shadow:2px 2px 2px #aaa;}.t-filter-options .t-filter-help-text,.t-filter-options select,.t-filter-options input,.t-filter-options .t-button,.t-filter-options .t-datepicker{display:block;margin-bottom:4px;}.t-filter-options .t-button{width:145px;}.t-filter-options select{width:148px;}.t-filter-options input{width:142px;}.t-filter-options .t-datepicker{width:100%;}.t-filter-options .t-filter-button{margin-bottom:0;}.t-grouping-row .t-icon{margin:0 4px;}.t-grouping-row p{padding:0 .6em;margin-left:-.6em;}.t-grid td.t-group-cell,.t-grid td.t-hierarchy-cell{border-right:0;}.t-grid .t-group-col,.t-grid .t-hierarchy-col{width:30px;}.t-grouping-header,.t-grouping-dropclue{height:24px;line-height:24px;}.t-grouping-dropclue{position:absolute;width:6px;}.t-grouping-header .t-group-indicator{display:inline-block;*display:inline;zoom:1;border-width:1px;border-style:solid;line-height:1.5em;padding:.15em .15em .15em .4em;margin:0 3px;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-grouping-header .t-link{text-decoration:none;display:inline-block;*display:inline;zoom:1;line-height:normal;padding:0;border-style:none;}.t-grouping-header .t-button{padding:0;border:0;background:transparent;line-height:1;}.t-grouping-header .t-link .t-icon{margin:0 0 0 -3px;}.t-grouping-header .t-button .t-icon{margin:0 0 0 3px;}.t-grouping-header a,.t-grouping-header .t-button{display:inline-block;*display:inline;zoom:1;vertical-align:middle;}.t-dirty{width:0;height:0;vertical-align:top;position:absolute;padding:0;margin:-0.45em 0 0 -0.6em;overflow:hidden;border-width:3px;border-style:solid;border-color:#f00 transparent transparent #f00;}* html .t-dirty{border-color:#f00 pink pink #f00;filter:chroma(color=pink);}.t-grouping-header,.t-grid-toolbar{cursor:default;margin:0;padding:.25em;}.t-grouping-header{border-bottom-width:1px;border-bottom-style:solid;}.t-grid .t-edit-container{padding:0;border-right:0;}.t-edit-form{padding:0;margin:0;}.t-edit-form td{border-top:0;border-bottom:0;}.t-grid-edit-row .text-box,.t-grid-edit-row .t-numerictextbox,.t-grid-edit-row .t-datepicker{vertical-align:middle;width:5em;max-width:90%;min-width:90%;margin:-.4em -.3em -.15em;}.t-grid-edit-row .t-dropdown,.t-grid-edit-row .t-combobox{width:5em;max-width:90%;min-width:90%;line-height:normal;margin:-.1em -.3em -.45em;}* html .t-grid .text-box{width:90%;}.t-edit-form-container{position:relative;}.t-grid .field-validation-error{display:block;}.t-grid .input-validation-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-grid-toolbar .t-button{vertical-align:middle;}.t-grid-actions{display:inline-block;}* html .t-grid-actions{display:inline;zoom:1;vertical-align:bottom;}*+html .t-grid-actions{display:inline;zoom:1;vertical-align:bottom;}.t-grid .t-button,.t-edit-form .t-button{margin:0 .2em;}.t-grid tbody .t-button{min-width:64px;}.t-grid tbody button.t-button,#ie8#skips{min-width:78px;}*+html .t-grid tbody a.t-button{min-width:62px;}.t-grid tbody a.t-button{-moz-padding-start:6px;-moz-padding-end:6px;}.t-grid tbody a.t-button-icon{-moz-padding-start:4px;-moz-padding-end:4px;}html body .t-grid tbody .t-button-icon{min-width:0;width:auto;}.t-detail-row{position:relative;}.t-grid .t-detail-cell{overflow:visible;}.t-grid-resize-indicator{position:absolute;width:2px;background-color:#aaa;}.t-grid .t-resize-handle{cursor:col-resize;position:absolute;height:25px;}.t-autocomplete{background-position:100% 50%!important;}.t-combobox,.t-dropdown,.t-selectbox{display:inline-block;*display:inline;zoom:1;position:relative;overflow:hidden;white-space:nowrap;width:150px;border-width:0;}*+html .t-combobox{overflow:visible;}* html .t-combobox{overflow:visible;}.t-dropdown-wrap,.t-picker-wrap{position:relative;display:block;cursor:default;}.t-picker-wrap{padding:0 25px 0 0;}.t-dropdown-wrap{padding-right:16px;border-width:1px;border-style:solid;}.t-combobox>.t-dropdown-wrap{padding-right:22px;}* html .t-combobox .t-dropdown-wrap{height:20px;}* html .t-picker-wrap{height:20px;padding-right:20px;}.t-picker-wrap .t-input,.t-combobox .t-input{vertical-align:top;width:100%;}.t-combobox .t-input{outline:0;border:0;}*+html .t-combobox .t-input{margin:-1px 0;}* html .t-combobox .t-input{margin:-1px 0;}* html{position:absolute;top:0;}.t-picker-wrap .t-select,.t-dropdown-wrap .t-select{text-decoration:none;vertical-align:top;display:inline-block;*display:inline;zoom:1;cursor:default;position:absolute;top:0;right:0;}* html .t-picker-wrap .t-select,* html .t-dropdown-wrap .t-select{top:1px;right:1px;}.t-combobox .t-select{border-width:0 0 0 1px;border-style:solid;border-color:inherit;}.t-combobox .t-icon{margin-top:1px;}.t-dropdown .t-select,.t-selectbox .t-select{border:0;text-decoration:none;font:inherit;color:inherit;overflow:hidden;cursor:default;}.t-dropdown .t-input,.t-selectbox .t-input{overflow:hidden;display:block;text-overflow:ellipsis;padding:.2em 0 .2em 3px;}.t-picker-wrap .t-select,.t-dropdown-wrap .t-select{position:absolute;right:0;top:0;}.t-picker-wrap .t-icon,.t-dropdown-wrap .t-icon{vertical-align:top;margin-top:2px;}.t-combobox .t-input{height:18px;line-height:18px;padding:1px 3px;border:0;margin:0;}.t-picker-wrap .t-select,.t-dropdown-wrap .t-select{height:20px;line-height:20px;}.t-popup{border-width:1px;border-style:solid;}.t-popup .t-item{padding:1px 5px 1px 3px;cursor:default;}.t-calendar{display:inline-block;*display:inline;zoom:1;width:203px;position:relative;overflow:hidden;}.t-calendar .t-link{text-decoration:none;}.t-calendar .t-action-link{text-decoration:underline;}.t-calendar .t-header{padding:.4em 0;text-align:center;position:relative;zoom:1;}.t-calendar .t-nav-prev,.t-calendar .t-nav-next{position:absolute;top:.3em;}.t-calendar .t-nav-prev{left:1%;}.t-calendar .t-nav-next{right:1%;}.t-calendar .t-content{text-align:right;display:table;width:100%;height:169px;table-layout:fixed;border-style:none;margin:0;padding:0;}.t-calendar .t-animation-container .t-content{height:100%;}.t-calendar .t-nav-fast{display:inline-block;*display:inline;zoom:1;width:75%;}.t-calendar .t-nav-fast .t-icon{vertical-align:top;}.t-calendar th{border-bottom-style:solid;border-bottom-width:1px;font-weight:normal;cursor:default;}.t-calendar td{cursor:pointer;padding:1px;}.t-calendar .t-state-focus{border-width:1px;border-style:dotted;padding:0;}.t-calendar .t-content .t-link{display:block;overflow:hidden;position:relative;}.t-calendar th,.t-calendar .t-content .t-link{padding:.25em .45em .3em .1em;}.t-calendar .t-meta-view .t-link{padding:.25em 0 .3em;text-align:center;}.t-timepicker,.t-datetimepicker,.t-datepicker{border:0;white-space:nowrap;width:8.5em;}.t-datetimepicker{width:13em;}div.t-timepicker,div.t-datetimepicker,div.t-datepicker{background-color:transparent;}.t-datetimepicker .t-picker-wrap{padding-right:44px;}* html .t-datetimepicker .t-picker-wrap{padding-right:40px;}.t-datetimepicker .t-icon-calendar{margin-right:3px;}.t-picker-wrap .t-icon{cursor:pointer;}.t-state-disabled .t-picker-wrap .t-icon{cursor:default;}.t-timepicker,.t-datepicker,.t-datetimepicker{display:inline-block;*display:inline;zoom:1;vertical-align:top;}.t-picker-wrap .t-input{margin:0;}.t-time-popup,.t-datepicker-calendar{-moz-box-shadow:2px 2px 2px #aaa;-webkit-box-shadow:2px 2px 2px #aaa;box-shadow:2px 2px 2px #aaa;}.t-iframe-overlay{position:absolute;width:100%;border:0;top:0;left:0;filter:alpha(opacity=0);}.t-time-popup .t-item{padding:1px 3px;}div.t-treeview{border-width:0;background:none;white-space:nowrap;overflow:auto;}.t-treeview .t-item{padding:0 0 0 16px;margin:0;border-width:0;position:static;top:auto;display:block;}.t-treeview .t-group,.t-treeview .t-content{list-style-type:none;background:none;margin:0;padding:0;}.t-treeview .t-animation-container{height:auto!important;}.t-treeview .t-icon,.t-treeview .t-image,.t-treeview .t-sprite,.t-treeview .t-in{display:inline-block;*display:inline;zoom:1;vertical-align:top;}.t-treeview .t-plus,.t-treeview .t-minus,.t-treeview .t-plus-disabled,.t-treeview .t-minus-disabled{margin-left:-16px;margin-top:2px;float:left;*float:none;}.t-treeview .t-plus,.t-treeview .t-minus{cursor:pointer;}.t-treeview .t-plus-disabled,.t-treeview .t-minus-disabled{cursor:default;}.t-treeview .t-sprite,.t-treeview .t-image{margin-right:3px;}.t-treeview .t-in{margin:1px 0;padding:2px 4px 2px 3px;text-decoration:none;line-height:16px;margin-left:2px;}.t-treeview span.t-in{cursor:default;}.t-treeview .t-state-hover,.t-treeview .t-state-selected{padding:1px 3px 1px 2px;border-width:1px;border-style:solid;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-treeview .t-drop-clue{width:80px;visibility:hidden;height:5px;position:absolute;margin-top:-3px;z-index:10000;background-color:transparent;background-repeat:no-repeat;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-repeat:no-repeat;margin-left:-16px;padding-left:16px;}.t-treeview-lines .t-top{background-position:-91px 0;}.t-treeview-lines .t-bot{background-position:-69px -22px;}.t-treeview-lines .t-mid{background-position:-47px -44px;}.t-treeview-lines .t-last .t-top{background-position:-25px -66px;}.t-treeview-lines .t-group .t-last .t-bot{background-position:-69px -22px;}.t-treeview-lines .t-item{background-repeat:no-repeat;}.t-treeview-lines .t-first{background-repeat:no-repeat;background-position:0 16px;}div.t-numerictextbox{display:inline-block;*display:inline;zoom:1;vertical-align:middle;white-space:nowrap;border:0;background:transparent;}.t-numerictextbox .t-input{margin:0;}.t-formatted-value{position:absolute;padding:3px 4px 2px 3px;}.t-numerictextbox .t-icon{margin-left:-16px;}.t-numerictextbox .t-link{border-style:none;display:inline-block;*display:inline;zoom:1;}.t-numerictextbox .t-arrow-up{vertical-align:top;margin-top:1px;height:10px;}.t-numerictextbox .t-arrow-down{vertical-align:bottom;margin-bottom:1px;height:11px;}.t-colorpicker{display:inline-block;*display:inline;zoom:1;vertical-align:middle;}.t-colorpicker .t-tool-icon{display:inline-block;*display:inline;zoom:1;vertical-align:top;padding:2px 3px;font-size:0;line-height:0;}.t-colorpicker .t-selected-color{display:block;height:16px;width:16px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;}.t-colorpicker .t-icon{vertical-align:middle;margin-top:2px;}.t-colorpicker-popup{line-height:0;width:136px;}.t-colorpicker-popup .t-reset{padding:.25em;margin:0;display:inline-block;*display:inline;zoom:1;}.t-colorpicker-popup .t-item{float:left;display:block;overflow:hidden;width:12px;height:12px;font-size:0;padding:0;margin:0 1px 1px 0;}.t-editor{border-width:1px;border-style:solid;border-collapse:separate;height:250px;font-size:100%;table-layout:fixed;vertical-align:top;width:100%;}.t-editor .t-editor-toolbar-wrap{border:0;padding:0;}.t-editor-toolbar{margin:0;padding:.1em 0;list-style-type:none;cursor:default;line-height:1.3em;}.t-editor-toolbar li{display:inline;vertical-align:middle;}.t-editor-toolbar .t-editor-dropdown,.t-editor-toolbar .t-editor-combobox,.t-editor-toolbar .t-editor-selectbox,.t-editor-toolbar .t-editor-colorpicker{margin-right:2px;}.t-editor-toolbar .t-separator{border-width:0 1px 0 0;border-style:solid;padding:0 0 0 1px;font-size:1.3em;margin:0 .15em;position:relative;top:1px;}.t-editor-toolbar .t-break{display:block;height:1px;line-height:0;font-size:0;}.t-editor-toolbar .t-dropdown,.t-editor-toolbar .t-combobox,.t-editor-toolbar .t-selectbox,.t-editor-toolbar .t-colorpicker{vertical-align:middle;}.t-editor-button .t-tool-icon{vertical-align:middle;width:22px;height:22px;margin:1px;}.t-editor-colorpicker .t-tool-icon{padding:17px 3px 2px;}.t-editor-colorpicker .t-icon{border-style:solid;border-color:#ccc;border-width:0 0 0 1px;}.t-editor-colorpicker .t-selected-color{height:3px;}.t-editor-combobox .t-input{height:20px;line-height:20px;}.t-editor-combobox .t-select{height:22px;line-height:22px;}.t-bold{background-position:-22px 0;}.t-italic{background-position:-44px 0;}.t-underline{background-position:-66px 0;}.t-strikethrough{background-position:-88px 0;}.t-justifyLeft{background-position:-110px 0;}.t-justifyCenter{background-position:-132px 0;}.t-justifyRight{background-position:-154px 0;}.t-justifyFull{background-position:-176px 0;}.t-insertOrderedList{background-position:-198px 0;}.t-insertUnorderedList{background-position:-220px 0;}.t-createLink{background-position:-242px 0;}.t-unlink{background-position:-264px 0;}.t-insertImage{background-position:-286px 0;}.t-foreColor .t-tool-icon{background-position:-308px -2px;}.t-backColor .t-tool-icon{background-position:-330px -2px;}.t-indent{background-position:-352px 0;}.t-outdent{background-position:-374px 0;}.t-fontName{width:110px;}.t-fontSize{width:124px;}.t-formatBlock{width:147px;}.t-editor-button .t-state-hover,.t-editor-button .t-state-active{vertical-align:middle;border-width:1px;border-style:solid;margin:0;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.t-editor-button .t-state-disabled{opacity:.3;filter:alpha(opacity=30);}.t-editor .t-editable-area{outline:none;height:100%;width:100%;border-width:1px;border-style:solid;}.t-editor .t-content{height:100%;width:100%;display:block;padding:0;margin:0;border:0;}.t-editor .t-raw-content{border:0;margin:0;padding:0;font-size:inherit;font-family:Consolas,"Courier New",monospace;}.t-editor-dialog{padding:1em;}.t-editor-dialog ol{margin:0;padding:0;list-style:none;}.t-form-text-row,.t-form-checkbox-row{padding-bottom:1em;}.t-form-text-row label{display:inline-block;*display:inline;zoom:1;width:7em;text-align:right;padding-right:.5em;}.t-form-checkbox-row input{margin-left:7em;font-size:inherit;padding:0;}.t-form-checkbox-row label{padding-left:.3em;}.t-form-checkbox-row input,.t-form-checkbox-row label,.t-form-text-row label .t-form-text-row input,.t-form-text-row select{vertical-align:middle;}.t-form-text-row input,.t-form-text-row select{width:20em;}.t-editor-dialog .t-button-wrapper{padding-top:.5em;text-align:right;}.t-editor-dialog .t-button{display:inline-block;*display:inline;zoom:1;}.t-drag-clue{border-width:1px;border-style:solid;font-size:.9em;padding:.05em .15em;position:absolute;z-index:10003;white-space:nowrap;cursor:default;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-drag-status{margin-right:4px;vertical-align:top;margin-top:-1px;}.t-reorder-cue{position:absolute;width:1px;overflow:visible;}.t-reorder-cue .t-icon{width:8px;height:4px;position:absolute;left:-4px;}.t-reorder-cue .t-arrow-down{top:-4px;background-position:-20px -182px;}.t-reorder-cue .t-arrow-up{bottom:-4px;background-position:-20px -166px;}div.t-slider{position:relative;border-width:0;background-color:transparent;-khtml-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.t-slider-vertical{width:22px;height:200px;}.t-slider-horizontal{display:inline-block;height:22px;width:200px;}*+html .t-slider-horizontal{display:inline;zoom:1;}* html .t-slider-horizontal{display:inline;zoom:1;}.t-slider-wrap{width:100%;height:100%;}.t-slider .t-button,.t-grid .t-slider .t-button{position:absolute;top:0;min-width:0;width:20px;height:20px;margin:0;padding:0;outline:none;}.t-state-disabled .t-button,.t-state-disabled .t-draghandle{cursor:default;}.t-state-disabled .t-slider-track{opacity:.6;filter:alpha(opacity=60);}.t-slider .t-button-decrease{left:0;}.t-slider-vertical .t-button-decrease{top:auto;bottom:0;}.t-slider .t-button-increase{right:0;}.t-slider .t-icon{cursor:pointer;}.t-state-disabled .t-slider-wrap .t-icon,.t-state-disabled .t-slider .t-icon{cursor:default;}*+html .t-slider .t-icon{margin-top:2px;}* html .t-slider .t-icon{margin-top:2px;}.t-slider-track,.t-slider-selection{position:absolute;margin:0;padding:0;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{height:6px;top:50%;left:0;margin-top:-3px;background-repeat:repeat-x;}.t-slider-horizontal .t-slider-track{border-width:0 1px;border-style:solid;background-position:0 -464px;}.t-slider-horizontal .t-slider-selection{background-position:0 -470px;}.t-slider-horizontal .t-slider-buttons .t-slider-track{left:27px;}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{width:6px;left:50%;bottom:0;margin-left:-3px;background-repeat:repeat-y;}.t-slider-vertical .t-slider-track{border-width:1px 0;border-style:solid;background-position:0 0;}.t-slider-vertical .t-slider-selection{background-position:-6px 0;}.t-slider-vertical .t-slider-buttons .t-slider-track{bottom:27px;}.t-draghandle{position:absolute;background-repeat:no-repeat;background-color:transparent;text-indent:-3333px;text-decoration:none;text-align:center;overflow:hidden;cursor:pointer;}.t-slider-horizontal .t-draghandle{top:-7px;width:11px;height:20px;}.t-slider-vertical .t-draghandle{left:-7px;width:20px;height:11px;}.t-slider-horizontal .t-draghandle,.t-state-disabled.t-slider-horizontal a.t-draghandle,.t-state-disabled .t-slider-horizontal a.t-draghandle{background-position:0 -368px;}.t-slider-horizontal .t-draghandle:hover,.t-slider-horizontal .t-draghandle:focus{background-position:0 -400px;}.t-slider-horizontal a.t-draghandle.t-state-active{background-position:0 -432px;}.t-slider-vertical .t-draghandle,.t-state-disabled.t-slider-vertical a.t-draghandle,.t-state-disabled .t-slider-vertical a.t-draghandle{background-position:-32px -368px;}.t-slider-vertical .t-draghandle:hover,.t-slider-vertical .t-draghandle:focus{background-position:-32px -400px;}.t-slider-vertical a.t-draghandle.t-state-active{background-position:-32px -432px;}.t-slider-items{display:inline-block;}.t-slider-items{display:block;}.t-slider-buttons .t-slider-items{margin-left:27px;}.t-slider-horizontal .t-slider-items{height:100%;}.t-slider-vertical .t-slider-items{padding-top:1px;}.t-slider-vertical .t-slider-buttons .t-slider-items{padding-top:0;}.t-slider-vertical .t-slider-buttons .t-slider-items{margin:0;padding-top:28px;}.t-slider-items:after{content:"";display:block;clear:both;height:0;visibility:hidden;}.t-slider .t-tick{position:relative;margin:0;padding:0;background-color:transparent;background-repeat:no-repeat;background-position:center center;cursor:default;}.t-slider-horizontal .t-tick{float:left;text-align:center;height:100%;}*+html .t-slider-vertical .t-tick{float:left;clear:left;width:100%;}* html .t-slider-vertical .t-tick{float:left;clear:left;width:100%;}.t-slider-horizontal .t-first{background-position:0 center;}.t-slider-horizontal .t-last{background-position:100% center;}.t-slider-vertical .t-tick{text-align:right;}.t-slider-vertical .t-slider-topleft .t-tick{text-align:left;}.t-slider-vertical .t-first{background-position:center 100%;}.t-slider-vertical .t-last{background-position:center 0;}.t-slider .t-label{position:absolute;}.t-slider-horizontal .t-label{left:0;width:100%;}.t-slider-horizontal .t-first .t-label{left:-50%;}.t-slider-horizontal .t-last .t-label{right:-50%;}.t-slider-horizontal .t-label{bottom:-1.2em;}.t-slider-horizontal .t-slider-topleft .t-label{top:-1.2em;}.t-slider-vertical .t-label{left:120%;display:block;text-align:left;}.t-slider-vertical .t-last .t-label{top:-0.5em;}.t-slider-vertical .t-first .t-label{bottom:-0.5em;}.t-slider-vertical .t-slider-topleft .t-label{left:auto;right:120%;}.t-tooltip{position:absolute;border-width:1px;border-style:solid;padding:4px 5px;background-repeat:repeat-x;z-index:10002;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;min-width:10px;text-align:center;}.t-callout{position:absolute;}.t-callout-n,.t-callout-s{width:9px;height:6px;}.t-callout-w,.t-callout-e{width:6px;height:9px;}.t-callout-n{top:-6px;left:50%;margin-left:-4px;background-position:-64px -368px;}.t-callout-w{left:-6px;top:50%;margin-top:-4px;background-position:-64px -384px;}.t-callout-s{top:100%;left:50%;margin-left:-4px;background-position:-64px -400px;}.t-callout-e{left:100%;top:50%;margin-top:-4px;background-position:-64px -416px;}.t-splitter{position:relative;height:300px;}.t-splitter .t-pane{overflow:hidden;}.t-splitter .t-scrollable{overflow:auto;}.t-splitter .t-pane-loading{position:absolute;left:50%;top:50%;margin:-8px 0 0 -8px;}.t-ghost-splitbar,.t-splitbar{position:absolute;border-style:solid;font-size:0;}.t-splitter .t-ghost-splitbar-horizontal,.t-splitter .t-splitbar-horizontal{top:0;width:5px;border-width:0 1px;background-repeat:repeat-y;}.t-ghost-splitbar-vertical,.t-splitbar-vertical{left:0;height:5px;border-width:1px 0;background-repeat:repeat-x;}.t-splitbar-draggable-horizontal{cursor:w-resize;}.t-splitbar-draggable-vertical{cursor:n-resize;}.t-splitbar .t-resize-handle{display:none;}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-splitbar-horizontal .t-icon{width:5px;height:21px;position:absolute;top:50%;margin-top:-10px;}.t-collapse-prev,.t-collapse-next,.t-expand-prev,.t-expand-next{cursor:pointer;}.t-splitbar-horizontal .t-collapse-prev{margin-top:-31px;}.t-splitbar-horizontal .t-collapse-next{margin-top:11px;}.t-splitbar-vertical .t-icon{height:5px;width:21px;position:absolute;left:50%;margin-left:-10px;}.t-splitbar-vertical .t-collapse-prev{margin-left:-31px;}.t-splitbar-vertical .t-collapse-next{margin-left:11px;}.t-splitbar-draggable-vertical .t-resize-handle,.t-splitbar-draggable-horizontal .t-resize-handle{display:inline-block;*display:inline;zoom:1;}.t-splitbar-horizontal{background-position:5px 0;}.t-splitbar-horizontal-hover{background-position:-12px 0;}.t-splitbar-horizontal-active,.t-ghost-splitbar-horizontal{background-position:-17px 0;}.t-restricted-size-horizontal{background-position:-22px 0;}.t-splitbar-horizontal .t-resize-handle{background-position:-10px -496px;}.t-splitbar-horizontal-hover .t-resize-handle{background-position:-10px -517px;}.t-splitbar-horizontal .t-collapse-prev,.t-splitbar-horizontal .t-expand-next{background-position:0 -496px;}.t-splitbar-horizontal-hover .t-collapse-prev,.t-splitbar-horizontal-hover .t-expand-next{background-position:0 -517px;}.t-splitbar-horizontal .t-collapse-next,.t-splitbar-horizontal .t-expand-prev{background-position:-5px -496px;}.t-splitbar-horizontal-hover .t-collapse-next,.t-splitbar-horizontal-hover .t-expand-prev{background-position:-5px -517px;}.t-splitbar-vertical{background-position:0 5px;}.t-splitbar-vertical-hover{background-position:0 -476px;}.t-splitbar-vertical-active,.t-ghost-splitbar-vertical{background-position:0 -481px;}.t-restricted-size-vertical{background-position:0 -486px;}.t-splitbar-vertical .t-resize-handle{background-position:-16px -496px;}.t-splitbar-vertical-hover .t-resize-handle{background-position:-16px -501px;}.t-splitbar-vertical .t-collapse-prev,.t-splitbar-vertical .t-expand-next{background-position:-16px -506px;}.t-splitbar-vertical-hover .t-collapse-prev,.t-splitbar-vertical-hover .t-expand-next{background-position:-16px -517px;}.t-splitbar-vertical .t-collapse-next,.t-splitbar-vertical .t-expand-prev{background-position:-16px -511px;}.t-splitbar-vertical-hover .t-collapse-next,.t-splitbar-vertical-hover .t-expand-prev{background-position:-16px -522px;}html .t-upload{position:relative;border-width:0;background:none;}.t-dropzone,.t-upload-files{-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;}.t-dropzone em,.t-upload-button{vertical-align:middle;}*+html .t-dropzone em,*+html .t-upload-button{vertical-align:baseline;}* html .t-dropzone em,* html .t-upload-button{vertical-align:baseline;}.t-dropzone{border-style:solid;border-width:0;padding:4px;background-color:transparent;}.t-dropzone em{margin-left:.6em;visibility:hidden;}.t-dropzone-active{border-width:1px;padding:3px;}.t-dropzone-active em{visibility:visible;}.t-upload-button{width:86px;position:relative;direction:ltr;overflow:hidden!important;/*!important required by IE7*/;}.t-upload-button input{font:500px monospace!important;opacity:0;filter:alpha(opacity=0);position:absolute;padding:0;margin:0;cursor:pointer;right:0;top:0;z-index:1;}.t-state-disabled .t-upload-button input{cursor:default;}.t-upload-files{border-style:solid;border-width:1px;margin:.2em 0 0;padding:.3em .7em .5em;line-height:1.9em;}.t-upload-files .t-button{position:relative;top:1px;margin-left:8px;padding-top:0;padding-bottom:0;font-size:84%;}*+html .t-upload-files .t-button{line-height:1;}* html .t-upload-files .t-button{line-height:1;}.t-upload .t-delete,.t-upload .t-cancel,.t-upload .t-retry{height:8px;vertical-align:baseline;}.t-upload .t-delete,.t-upload .t-cancel{width:7px;background-position:-5px -292px;}.t-retry{background-position:-66px -228px;width:11px;}.t-success{background-position:-64px -240px;}.t-fail{background-position:-64px -256px;}.t-filename{position:relative;display:inline-block;min-width:120px;vertical-align:middle;}.t-progress,.t-progress-status{position:absolute;bottom:-2px;left:0;width:118px;height:2px;border-style:solid;border-width:1px;background-repeat:repeat-x;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;}.t-progress-status{left:-1px;bottom:-1px;width:50%;}.t-upload-selected{min-width:86px;box-sizing:content-box;-moz-box-sizing:content-box;-ms-box-sizing:content-box;margin:3px 0 0;}*+html .t-upload-selected{min-width:100px;}.t-tiles-buttons .t-dropzone em,.t-tiles-buttons .t-upload-files{display:none;}.t-tiles-buttons .t-dropzone{border:0;padding:0;background-color:transparent;}.t-search-wrap{float:right;width:auto;position:relative;padding:0;}.t-search-wrap label{position:absolute;top:0;left:4px;line-height:20px;font-style:italic;}.t-search-wrap input.t-input{width:158px;padding-left:0;padding-right:0;}.t-search{background-position:-64px -176px;}.t-search-wrap .t-search{position:absolute;top:1px;right:2px;}.t-breadcrumbs{float:left;position:relative;width:560px;}.t-breadcrumbs-wrap{position:absolute;z-index:1;top:0;left:0;padding-left:5px;line-height:18px;}html input.t-breadcrumbs-input{width:100%;padding-left:2px;font-family:inherit;}.t-breadcrumbs .t-link,.t-breadcrumbs-wrap .t-icon{text-decoration:none;vertical-align:middle;margin-top:0;}.t-breadcrumbs .t-link:hover{text-decoration:underline;}.t-imagebrowser .t-breadcrumbs .t-first{text-decoration:none;cursor:default;}.t-tiles-toolbar{clear:both;border-style:solid;border-width:1px;margin:8px 0 0;padding:2px 0 3px;background-repeat:repeat-x;line-height:23px;white-space:nowrap;}.t-imagebrowser .t-upload{float:left;}.t-imagebrowser .t-upload-button{width:auto;vertical-align:top;}.t-imagebrowser .t-upload .t-icon{vertical-align:bottom;}*+html .t-imagebrowser .t-upload-button,*+html .t-imagebrowser .t-upload .t-icon{vertical-align:baseline;position:relative;top:1px;}* html .t-imagebrowser .t-upload-button,* html .t-imagebrowser .t-upload .t-icon{vertical-align:baseline;position:relative;top:1px;}*+html .t-imagebrowser .t-upload .t-icon{top:2px;}* html .t-imagebrowser .t-upload .t-icon{top:2px;}*+html .t-tiles-toolbar .t-button-icon{vertical-align:middle;}* html .t-tiles-toolbar .t-button-icon{vertical-align:middle;}.t-addfolder{background-position:-64px -192px;}.t-goup{background-position:-64px -208px;}.t-tiles-toolbar .t-state-disabled{opacity:.5;filter:alpha(opacity=50);}.t-tiles-buttons{float:left;}.t-tiles-arrange{float:right;}* html .t-tiles-arrange{margin:3px 0 0;}.t-tiles-arrange .t-arrow-down{margin:0 2px 0 3px;}.t-tiles-arrange a{text-decoration:none;}.t-tiles{clear:both;height:390px;border-style:solid;border-width:1px;border-top-width:0;margin:0 0 1.4em;padding:9px;overflow:auto;line-height:1.2;}.t-tile{width:223px;height:88px;overflow:hidden;float:left;border-width:1px;border-style:solid;margin:1px;padding:0 0 4px;cursor:pointer;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}.t-imagebrowser .t-thumb{float:left;display:inline;width:86px;height:86px;margin:4px 10px 0 4px;-khtml-user-select:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;}.t-imagebrowser .t-image{margin:2px 0 0 2px;-moz-box-shadow:1px 1px 3px #aaa;-webkit-box-shadow:1px 1px 3px #aaa;box-shadow:1px 1px 3px #aaa;}.t-imagebrowser .t-folder{width:80px;height:80px;background-position:0 -200px;background-repeat:no-repeat;}.t-goback{background-position:-64px -224px;}.t-imagebrowser .t-loading{margin:35px 0 0 33px;}.t-tile strong,.t-tile input{margin:10px 0 4px;font-weight:normal;}.t-tile strong{float:left;width:120px;overflow:hidden;text-overflow:ellipsis;}.t-tile input{width:100px;}.t-tile em,.t-tile .t-filesize{clear:left;font-weight:normal;font-style:normal;}.t-tile strong,.t-tile input,.t-tile em,.t-tile .t-filesize{display:block;}.t-imagebrowser .t-form-text-row input{width:628px;}.t-tile-empty{margin:160px 0 0;}.t-tile-empty .t-dialog-upload{font-weight:bold;font-size:120%;}.t-tile-empty strong{display:block;margin:0 0 .2em;font-size:3em;font-weight:normal;}.t-tile-empty,.t-tile-empty .t-button-wrapper{text-align:center;}.t-touch-scrollbar{position:absolute;display:none;z-index:200000;height:8px;width:8px;border:1px solid #8a8a8a;background-color:#858585;-moz-border-radius:4px;-webkit-border-radius:4px;border-radius:4px;}@media only screen and(-webkit-min-device-pixel-ratio:2){.t-touch-scrollbar{height:12px;width:12px;-webkit-border-radius:7px;}} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.default.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.default.min.css new file mode 100644 index 0000000..5ad3bdb --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.default.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#989898;background-color:#fff;}.t-header,.t-grid-header{border-color:#989898;background:#adadad url('Default/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Default/sprite.png');}.t-editor .t-tool-icon{background-image:url('Default/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Default/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#989898;}.t-separator{border-color:#d8d8d8;background-color:#999;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#828282;}.t-active-filter{background-color:#cdcdcd;}.t-state-hover,.t-state-hover:hover{background-color:#e9e9e9;border-color:#828282;}.t-header .t-state-hover{background-color:#dcdada;}.t-state-active,.t-header .t-state-active{background-color:#fff;border-color:#828282;}.t-state-selected{background-color:#ddd;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#828282;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#adadad url('Default/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#c9c9c9;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#888;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aaa;background-color:#eee;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grouping-row td{background:#fff url('Default/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#eee;border-color:#828282 #eee #fff;}.t-group-footer td{background-color:#eee;border-color:#828282;}.t-grid-footer{background-color:#eee;border-color:#080808;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Default/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Default/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#838383;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#c5c5c5;}.t-other-month .t-link{color:#898989;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Default/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Default/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Default/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#e2e2e2 #878787 #878787 #e2e2e2;background-color:#c6c6c6;}.t-editor-button .t-state-active{border-color:#767676 #d0d0d0 #d0d0d0 #767676;background-color:#9e9e9e;}.t-slider .t-draghandle{background-image:url('Default/sprite.png');color:#333;}.t-slider-track{border-color:#a5a5a5;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Default/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Default/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Default/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Default/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Default/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Default/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Default/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Default/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Default/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Default/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Default/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Default/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Default/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Default/slider-v-right.gif');}.t-tooltip{background:#adadad 0 -624px repeat-x url('Default/sprite.png');}.t-callout{background-image:url('Default/sprite.png');}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Default/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Default/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#828282;}.t-dropzone-hovered,.t-upload-files{background-color:#e2e2e2;}.t-dropzone em{color:#828282;}.t-progress,.t-progress-status{background-image:url('Default/sprite.png');}.t-progress{background-position:0 -465px;border-color:#a1a1a1 #b3b3b3 #c8c8c8;}.t-progress-status{background-position:0 -472px;border-color:#989898 transparent #6b6b6b;}.t-imagebrowser .t-content{background:#f1f1f1;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#9f9f9f;}.t-tiles-toolbar{border-color:#aaa;}.t-tiles{border-color:#e2e3ea;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Default/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#989898;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#989898;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Default/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#666;}.t-tile-empty strong{color:#aaa;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.forest.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.forest.min.css new file mode 100644 index 0000000..39ed509 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.forest.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#486b23;background-color:#d1deb6;}.t-header,.t-grid-header{border-color:#486b23;color:#fff;background:#4c7822 url('Forest/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Forest/sprite.png');}.t-editor .t-tool-icon{background-image:url('Forest/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Forest/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#2b2c20;}.t-header,.t-header .t-link{color:#fff;}.t-content,.t-content .t-link,.t-group .t-link{color:#2b2c20;}.t-group,.t-content,.t-editable-area{border-color:#486b23;background-color:#d1deb6;}.t-colorpicker .t-arrow-down{border-color:#486b23;}.t-separator{border-color:#719652;background-color:#4c6d3b;}.t-alt{background-color:#c7d6a7;}.t-state-default{border-color:#486b23;}.t-active-filter{background-color:#60963e;}.t-state-hover,.t-state-hover .t-link,.t-state-selected,.t-state-selected .t-link{color:#fff;}.t-state-hover,.t-state-hover:hover{background-color:#6c9f4f;border-color:#486b23;}.t-state-selected,.t-state-selected .t-state-hover{background-color:#3a5621;border-color:#486b23;}.t-state-active{background-color:#d1deb6;border-color:#486b23;}.t-tabstrip .t-state-active .t-link{color:#2b2c20;}.t-group .t-state-hover,.t-group .t-state-selected{color:#fff;background-image:none;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#486b23;color:#fff;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#486c24 url('Forest/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#4d7924;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#2a4b17;border-color:#486b23;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#486b23;background-color:#a7bc75;}.t-editor-button .t-state-active{background-color:#527c30;}.t-grid td{border-color:#bdcb9e;border-right:1px solid #bdcb9e;}.t-grouping-row td{background:#d1deb6 url('Forest/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#b1c67f;border-color:#3c6716 #b1c67f #b1c67f;}.t-group-footer td{background-color:#b1c67f;border-color:#3c6716;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#b1c67f;border-color:#3c6716;}.t-grouping-header .t-group-indicator{color:#333;border-color:#486B23;}.t-grouping-dropclue{background:url('Forest/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#d1deb6;}.t-treeview .t-drop-clue{background-image:url('Forest/sprite.png');background-position:0 -358px;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#486b23;}.t-calendar th{background-color:#a6bb74;border-color:#9cb16a;}.t-other-month .t-link{color:#88914b;}.t-state-hover .t-link{color:#fff;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Forest/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Forest/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Forest/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-window{-moz-box-shadow:0 0 5px 2px #6f855a;-webkit-box-shadow:0 0 5px 2px #6f855a;box-shadow:0 0 5px 2px #6f855a;}.t-editor-button .t-state-hover{border-color:#88ab72 #416926 #416926 #88ab72;background-color:#548231;}.t-editor-button .t-state-active{border-color:#2a4b17 #7f9c6d #7f9c6d #2a4b17;background-color:#446e29;}.t-slider .t-draghandle{background-image:url('Forest/sprite.png');color:#486b23;}.t-slider-track{border-color:#658843;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Forest/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Forest/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Forest/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Forest/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Forest/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Forest/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Forest/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Forest/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Forest/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Forest/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Forest/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Forest/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Forest/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Forest/slider-v-right.gif');}.t-tooltip{background:#486c24 0 -625px repeat-x url('Forest/sprite.png');color:#fff;}.t-callout{background-image:url('Forest/sprite.png');}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#527f2c;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Forest/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Forest/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#8aaf64;}.t-dropzone-hovered,.t-upload-files{background-color:#d1deb6;}.t-dropzone em{color:#6b715f;}.t-progress,.t-progress-status{background-image:url('Forest/sprite.png');}.t-progress{background-position:0 -466px;border-color:#52752e #6c8c49 #83a564;}.t-progress-status{background-position:0 -472px;border-color:#4f722b transparent #193809;}.t-imagebrowser .t-content{background:#d3e0c2;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#6b715f;}.t-tiles-toolbar{border-color:#8aaf64;}.t-tiles-toolbar .t-upload .t-button{color:#2b2c20;}.t-tiles-arrange{color:#6b715f;}.t-tiles{border-color:#8aaf64;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Forest/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#76ad3b;background-position:0 0;color:#2b2c20;}.t-tiles li.t-state-selected{border-color:#8aaf64;background-position:0 -100px;color:#2b2c20;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Forest/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#6b715f;}.t-tile-empty strong{color:#8d947f;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.hay.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.hay.min.css new file mode 100644 index 0000000..d11e90c --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.hay.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#7d7c6f;background-color:#ececd8;}.t-header,.t-grid-header{border-color:#378909;background:#4eb106 url('Hay/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Hay/sprite.png');}.t-editor .t-tool-icon{background-image:url('Hay/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-header .t-arrow-up,.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-header .t-arrow-down,.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-header .t-arrow-first,.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-header .t-arrow-prev,.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-header .t-arrow-next,.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-header .t-arrow-last,.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Hay/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fff;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#bbb99d;background-color:#ececd8;}.t-colorpicker .t-arrow-down{border-color:#378909;}.t-separator{border-color:#73c335;background-color:#378909;}.t-alt{background-color:#fff;}.t-state-default{border-color:#378909;}.t-active-filter{background-color:#51b200;}.t-state-hover,.t-state-hover .t-link,.t-group .t-state-hover{color:#fff;}.t-state-hover,.t-state-hover:hover{background-color:#6cc41a;border-color:#378909;}.t-state-active{background-color:#ececd8;border-color:#378909;}.t-state-active,.t-state-active .t-link{color:#333;}.t-state-active .t-header,.t-state-active .t-state-hover{color:#fff;}.t-state-selected{background:#4e8e13;}.t-state-selected,.t-state-selected .t-header,.t-state-selected .t-state-hover,.t-state-selected .t-link{color:#fff;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#898772;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#e0e2cb url('Hay/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#bbbe94;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{color:#d2d2d2;border-color:#5ca136;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#bbb99d;background-color:#dee0c8;}.t-panelbar .t-link{border-color:#333;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-hover td{border-color:#6CC41A;}.t-grid tr.t-state-selected td{border-color:#378909;}.t-grouping-row td{background:#fff url('Hay/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#dee0c8;border-color:#bbb99d #dee0c8 #fff;}.t-group-footer td{background-color:#dee0c8;border-color:#bbb99d;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#dee0c8;border-color:#bbb99d;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('Hay/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Hay/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#2C8406;}.t-calendar th{border-color:#cac8ab;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Hay/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Hay/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Hay/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#73cd26 #38910a #38910a #73cd26;background-color:#63c215;}.t-editor-button .t-state-active{border-color:#257802 #60ba1d #60ba1d #257802;background-color:#47a605;}.t-slider .t-draghandle{background-image:url('Hay/sprite.png');color:#7d7c6f;}.t-slider-track{border-color:#b6b499;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Hay/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Hay/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Hay/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Hay/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Hay/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Hay/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Hay/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Hay/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Hay/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Hay/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Hay/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Hay/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Hay/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Hay/slider-v-right.gif');}.t-tooltip{border-color:#cccab0;background:#e0e2cb 0 -560px repeat-x url('Hay/sprite.png');}.t-callout{background-image:url('Hay/sprite.png');}.t-splitter{border-color:#cac8ab;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#ececd8;border-color:#cac8ab;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Hay/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Hay/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#bbb99d;}.t-dropzone-hovered,.t-upload-files{background-color:#f5f5e6;}.t-dropzone em{color:#787878;}.t-progress,.t-progress-status{background-image:url('Hay/sprite.png');}.t-progress{background-position:0 -467px;border-color:#9a9881 #b6b49b #cdccb7;}.t-progress-status{background-position:0 -472px;border-color:#74cd23 transparent #3a8e09;}.t-imagebrowser .t-content{background:#f5f5e6;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label,.t-tiles-arrange{color:#787878;}.t-tiles-toolbar{border-color:#bbb99d;background:#e0e2cb url('Hay/sprite.png') repeat-x 0 -560px;}.t-tiles{border-color:#bbb99d;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Hay/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#46a700;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#bbb99d;background-position:0 -100px;color:#000;}.t-tile .t-folder{background-image:url('Hay/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#525252;}.t-tile-empty strong{color:#bbb99d;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2007.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2007.min.css new file mode 100644 index 0000000..ee4b023 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2007.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#688caf;background-color:#fff;}.t-header,.t-grid-header{border-color:#688caf;background:#c3d8f1 url('Office2007/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Office2007/sprite.png');}.t-editor .t-tool-icon{background-image:url('Office2007/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Office2007/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#688caf;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#688caf;}.t-separator{border-color:#ebf1f9;background-color:#a0b2c7;}.t-alt{background-color:#fff;}.t-state-default{border-color:#688caf;}.t-active-filter{background-color:#c0d9ef;}.t-state-hover,.t-state-hover:hover{background-color:#d6e5f3;border-color:#688caf;}.t-state-active{background-color:#fff;border-color:#688caf;}.t-state-selected{background-color:#ffd176;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{border-color:#688caf;background:#e5effb url('Office2007/sprite.png') repeat-x 0 -560px;}.t-button:hover{border-color:#d8ca95 #b9a073 #c6b99c;background-position:0 -624px;background-color:#ffdf84;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#82a6d7;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#5d8cc9;background-color:#d6e5f3;}.t-grid td{border-color:#ddd;border-right:1px solid #d6e5f3;}.t-grouping-row td{background:#fff url('Office2007/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#d6e5f3;border-color:#567db0 #d6e5f3 #fff;}.t-group-footer td{background-color:#d6e5f3;border-color:#567db0;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#d6e5f3;border-color:#567db0;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('Office2007/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Office2007/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#a79d87;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#5d8cc9;}.t-calendar th{border-color:#9ebfdb;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Office2007/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Office2007/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Office2007/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#e8f0fa #98b2d0 #98b2d0 #e8f0fa;background-color:#d4e3f5;}.t-editor-button .t-state-active{border-color:#88a4c5 #d0dcea #d0dcea #88a4c5;background-color:#9fbad9;}.t-slider .t-draghandle{background-image:url('Office2007/sprite.png');color:#688caf;}.t-slider-track{border-color:#6b89b2;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Office2007/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Office2007/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Office2007/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Office2007/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Office2007/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Office2007/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Office2007/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Office2007/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Office2007/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Office2007/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Office2007/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Office2007/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Office2007/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Office2007/slider-v-right.gif');}.t-tooltip{border-color:#767676;background:#cad9ef 0 -96px repeat-x url('Office2007/sprite.png');color:#333;}.t-callout{background-image:url('Office2007/sprite.png');}.t-splitter{border-color:#9eb6ce;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#d7e6f7;border-color:#9eb6ce;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Office2007/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Office2007/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#688caf;}.t-dropzone-hovered,.t-upload-files{background-color:#d6e5f3;}.t-dropzone em{color:#3e7ecf;}.t-progress,.t-progress-status{background-image:url('Office2007/sprite.png');}.t-progress{background-position:0 -465px;border-color:#82a6d7 #8aacda #82a6d7;}.t-progress-status{background-position:0 -472px;border-color:#6b89b2 transparent;}.t-imagebrowser .t-content{background:#dde8f5;}.t-breadcrumbs .t-link{color:#3e7ecf;}.t-breadcrumbs .t-link:hover{color:#00156e;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#8bb2e2;}.t-tiles-toolbar{border-color:#8bb2e2;background:#c3d8f1 url('Office2007/sprite.png') repeat-x 0 -752px;}.t-tiles-arrange{color:#3e7ecf;}.t-tiles-toolbar .t-upload .t-button,.t-tiles-arrange .t-link{color:#00156e;}.t-tiles{border-color:#8bb2e2;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Office2007/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#c5af7f;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#c0a776;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Office2007/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#636363;}.t-tile-empty strong{color:#8bb2e2;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2010black.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2010black.min.css new file mode 100644 index 0000000..f1cd833 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.office2010black.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#2c2c2c;background-color:#6f6f6f;}.t-header,.t-grid-header{border-color:#444;background:#6b6b6b url('Office2010Black/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Office2010Black/sprite.png');}.t-editor .t-tool-icon{background-image:url('Office2010Black/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Office2010Black/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup,.t-grid .t-header{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#f6f6f6;}.t-colorpicker .t-arrow-down{border-color:#606060;}.t-separator{border-color:#606060;background-color:#adadad;}.t-alt{background-color:#646464;}.t-state-default{border-color:#848484;}.t-active-filter{background-color:#f9d04c;}.t-state-hover,.t-state-hover:hover{background-color:#ffe175;border-color:#f7c840;}.t-header .t-state-hover{background-color:#ffe175;}.t-state-active,.t-header .t-state-active{background-color:#ffcb36;border-color:#c28b31 #c29a42 #c2a34c;}.t-state-selected{background-color:#ffcb36;}.t-state-hover,.t-state-selected{color:#000;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#262626;color:#000;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#6f6f6f url('Office2010Black/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#fff3c9;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#5e5e5e;}.t-autocomplete{background-color:#b6b6b6;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-group-footer td,.t-grid-footer,.t-footer-template td,.t-widget .t-status{border-color:#444;background-color:#777;}.t-grid{color:#fff;}.t-grid-pager .t-link{color:#fff;}.t-grid-pager .t-state-hover,.t-grid-pager .t-state-active{color:#000;}.t-grid td{border-color:#454545;border-right:1px solid #454545;}.t-grouping-row td{background:url('Office2010Black/sprite.png') repeat-x 0 -48px;}.t-grouping-header .t-group-indicator{border-color:#444;background:#6f6f6f url('Office2010Black/sprite.png') repeat-x 0 -560px;}.t-grouping-dropclue{background:url('Office2010Black/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#6f6f6f;}.t-treeview .t-drop-clue{background-image:url('Office2010Black/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#4f4f4f;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#4f4f4f;}.t-filter-options,.t-menu .t-group{-moz-box-shadow:2px 2px 2px #4f4f4f;-webkit-box-shadow:2px 2px 2px #4f4f4f;box-shadow:2px 2px 2px #4f4f4f;}.t-calendar th{border-color:#c5c5c5;}.t-other-month .t-link{color:#898989;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Office2010Black/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Office2010Black/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Office2010Black/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#f7c840;background-color:#ffe175;}.t-editor-button .t-state-active{border-color:#c28b31 #c29b43 #c2a34c;background-color:#feed76;}.t-slider .t-draghandle{background-image:url('Office2010Black/sprite.png');color:#666;}.t-slider-track{border-color:#2c2c2c;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Office2010Black/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Office2010Black/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Office2010Black/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Office2010Black/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Office2010Black/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Office2010Black/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Office2010Black/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Office2010Black/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Office2010Black/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Office2010Black/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Office2010Black/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Office2010Black/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Office2010Black/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Office2010Black/slider-v-right.gif');}.t-tooltip{border-color:#767676;background:#e9e9f2 0 -96px repeat-x url('Office2010Black/sprite.png');}.t-callout{background-image:url('Office2010Black/sprite.png');}.t-splitbar{border-color:#2c2c2c;background-color:#4b4b4b;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Office2010Black/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Office2010Black/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#2c2c2c;}.t-dropzone-active{background-color:#6f6f6f;}.t-dropzone-hovered,.t-upload-files{background-color:#4b4b4b;}.t-dropzone em{color:#e2e2e2;}.t-progress,.t-progress-status{background-image:url('Office2010Black/sprite.png');}.t-progress{background-position:0 -464px;border-color:#2c2c2c;}.t-progress-status{background-position:0 -472px;border-color:#ffe37c transparent #f9cd4c;}.t-imagebrowser .t-content{background:#9e9e9e;}.t-tiles-toolbar{border-color:#848484;background:#6b6b6b url('Office2010Black/sprite.png') repeat-x 0 -752px;}.t-tiles{border-color:#848484;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Office2010Black/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#ffd14b;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#c28a30 #c29b43 #c2a44d;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Office2010Black/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#464646;}.t-tile-empty strong{color:#aaa;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.outlook.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.outlook.min.css new file mode 100644 index 0000000..ee62900 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.outlook.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#5d8cc9;background-color:#fff;}.t-header,.t-grid-header{border-color:#5d8cc9;background:#7da5e0 url('Outlook/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Outlook/sprite.png');}.t-editor .t-tool-icon{background-image:url('Outlook/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Outlook/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#5d8cc9;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#5d8cc9;}.t-separator{border-color:#cfdef4;background-color:#7e98bc;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#5d8cc9;}.t-active-filter{background-color:#b6cef2;}.t-state-hover,.t-state-hover:hover{background-color:#d6e5f3;border-color:#5d8cc9;}.t-state-active{background-color:#fff;border-color:#5d8cc9;}.t-state-selected{background-color:#bcd3f3;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#5d8cc9;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#ebe8e2 url('Outlook/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#f2f2f2;color:#000;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{color:#577aac;border-color:#7da5e0;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#5d8cc9;background-color:#d6e5f3;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-hover td{border-color:#d6e5f3;}.t-grid tr.t-state-selected td{border-color:#bcd3f3;}.t-grouping-row td{background:#fff url('Outlook/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#d6e5f3;border-color:#567db0 #d6e5f3 #fff;}.t-group-footer td{background-color:#d6e5f3;border-color:#567db0;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#d6e5f3;border-color:#567db0;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('Outlook/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Outlook/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#002d96;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#5d8cc9;}.t-calendar th{border-color:#89aee5;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Outlook/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Outlook/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Outlook/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#dae8fa #668dcf #668dcf #dae8fa;background-color:#93b5e7;}.t-editor-button .t-state-active{border-color:#5781c9 #a3c1ea #a3c1ea #5781c9;background-color:#7da5e0;}.t-slider .t-draghandle{background-image:url('Outlook/sprite.png');color:#5d8cc9;}.t-slider-track{border-color:#7b9ecc;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Outlook/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Outlook/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Outlook/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Outlook/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Outlook/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Outlook/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Outlook/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Outlook/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Outlook/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Outlook/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Outlook/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Outlook/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Outlook/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Outlook/slider-v-right.gif');}.t-tooltip{border-color:#000;background:#ffffe1;}.t-callout{background-image:url('Outlook/sprite.png');}.t-splitter{border-color:#89aee5;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#bcd3f3;border-color:#89aee5;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Outlook/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Outlook/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#7f9eba;}.t-dropzone-hovered,.t-upload-files{background-color:#d6e5f3;}.t-dropzone em{color:#6c7a8c;}.t-progress,.t-progress-status{background-image:url('Outlook/sprite.png');}.t-progress{background-position:0 -466px;border-color:#7699c5 #83a4ce #81a5d6;}.t-progress-status{background-position:0 -472px;border-color:#99bbea transparent #40689e;}.t-imagebrowser .t-content{background:#c3dafa;}.t-breadcrumbs .t-link:hover{color:#003db2;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#6c7a8c;}.t-tiles-toolbar{border-color:#828282;background:#7da5e0 url('Outlook/sprite.png') repeat-x 0 -752px;}.t-tiles{border-color:#7f9eba;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Outlook/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#e0b224;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#df8b13;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Outlook/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#6c7a8c;}.t-tile-empty strong{color:#8bb2e2;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.rtl.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.rtl.min.css new file mode 100644 index 0000000..850b18e --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.rtl.min.css @@ -0,0 +1 @@ +.t-rtl{direction:rtl;zoom:1;}.t-rtl .t-button-icontext .t-icon{margin:0 -3px 0 3px;}.t-rtl .t-window-actions{right:auto;left:.5em;}.t-rtl .t-window-title .t-image{margin:0 0 0 5px;}.t-rtl .t-tabstrip-items .t-item,.t-rtl .t-panelbar .t-tabstrip-items .t-item{margin:.1em 0 0 .3em;}.t-rtl .t-tabstrip-items .t-item .t-icon,.t-rtl .t-panelbar .t-tabstrip-items .t-item .t-icon{margin:-1px -3px 0 4px;}.t-rtl .t-tabstrip-items .t-item .t-image,.t-rtl .t-tabstrip-items .t-item .t-sprite,.t-rtl .t-panelbar .t-tabstrip-items .t-item .t-image,.t-rtl .t-panelbar .t-tabstrip-items .t-item .t-sprite{margin:-4px -3px 0 3px;}.t-rtl .t-tabstrip-items .t-state-active,.t-rtl .t-panelbar .t-tabstrip-items .t-state-active{padding-bottom:1px;margin-bottom:-1px;}.t-rtl .t-panelbar .t-item{zoom:normal;}.t-rtl .t-panelbar .t-image,.t-rtl .t-panelbar .t-sprite{margin-right:0;margin-left:5px;float:right;}.t-rtl .t-panelbar .t-arrow-up,.t-rtl .t-panelbar .t-arrow-down{right:auto;left:2px;}.t-rtl .t-panelbar .t-group .t-group .t-link{padding-left:0;padding-right:2em;}.t-rtl .t-menu .t-group .t-link{padding-left:2em;padding-right:.97em;}.t-rtl .t-menu .t-item{border-width:0 0 0 1px;}.t-rtl .t-menu .t-image,.t-rtl .t-menu .t-sprite{margin:0 -4px 0 4px;}.t-rtl .t-menu .t-arrow-down{margin-left:-10px;margin-right:2px;}.t-rtl .t-menu .t-arrow-next{right:auto;left:0;}.t-rtl .t-menu .t-animation-container,.t-rtl .t-menu .t-group{left:auto;right:-1px;}.t-rtl .t-menu .t-animation-container .t-animation-container,.t-rtl .t-menu .t-group .t-group{right:100%;left:auto;}.t-rtl .t-menu-vertical .t-animation-container,.t-rtl .t-menu-vertical .t-group{right:100%;left:auto;}.t-rtl .t-menu .t-animation-container .t-group{right:auto;}.t-rtl .t-grid div.t-grid-header,.t-rtl .t-grid .t-grid-content,.t-rtl .t-grid .t-grid-footer,.t-rtl .t-grid .t-grouping-header,.t-rtl .t-grid .t-grid-toolbar,.t-rtl .t-grid .t-filter-options,.t-rtl .t-grid tbody{zoom:1;direction:rtl;}.t-rtl .t-grid table{border-collapse:separate;}.t-rtl .t-grid div.t-grid-header{padding-right:0\9;padding-left:17px\9;text-align:right;}.t-rtl .t-grid .t-header{text-align:right;border-width:0 0 1px 1px\9;}.t-rtl .t-grid .t-header .t-link{padding:.3em .6em .3em 2.4em;}.t-rtl .t-grid .t-grid-filter{float:left;margin:-1.8em 3px -.3em -.6em;}.t-rtl .t-grid .t-pager{direction:ltr;float:right;}.t-rtl .t-grid .t-status{float:right;border-right-width:0;border-left-style:solid;border-left-width:1px;margin:-.2em -.6em -.2em .6em;}.t-rtl .t-grid .t-status-text{float:left;}.t-rtl .t-grid .t-grouping-row p{margin-right:-0.6em;margin-left:0;padding-right:.6em;padding-left:0;}.t-rtl .t-grid .t-button .t-icon{margin-left:3px;margin-right:-3px;}.t-rtl .t-grid .t-last{border-left-width:0;border-right-width:1px;}.t-rtl .t-grouping-header .t-button .t-icon{margin:0 3px 0 0;}.t-rtl .t-autocomplete{background-position:0 50%!important;}.t-rtl .t-dropdown-wrap{padding-right:0;padding-left:16px;zoom:1;}* html .t-rtl .t-combobox .t-dropdown-wrap{padding-right:0;padding-left:16px;}* html .t-rtl .t-picker-wrap{padding-right:0;padding-left:25px;}.t-rtl .t-picker-wrap .t-select,.t-rtl .t-dropdown-wrap .t-select{right:auto;left:0;zoom:1;}* html .t-rtl .t-picker-wrap .t-select,* html .t-rtl .t-dropdown-wrap .t-select{right:auto;left:1px;}.t-rtl .t-combobox .t-select{border-width:0 1px 0 0;}.t-rtl .t-dropdown .t-input,.t-rtl .t-selectbox .t-input{padding:.2em 3px .2em 0;}.t-rtl .t-picker-wrap .t-icon-calendar,.t-rtl .t-picker-wrap .t-icon-clock{margin:3px 3px 0 0;}.t-rtl .t-picker-wrap{padding:0 0 0 25px;}.t-rtl .t-datetimepicker .t-picker-wrap{padding:0 0 0 44px;}.t-rtl .t-treeview .t-item{padding:0 16px 0 0;}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{margin-left:0;margin-right:-16px;padding-left:0;padding-right:20px;}.t-rtl .t-treeview .t-plus,.t-rtl .t-treeview .t-minus,.t-rtl .t-treeview .t-plus-disabled,.t-rtl .t-treeview .t-minus-disabled{margin-left:0;margin-right:-20px;float:right;*float:none;}.t-rtl .t-treeview .t-image{margin-right:0;margin-left:3px;}.t-rtl .t-treeview-lines .t-top{background-position:100% 0;}.t-rtl .t-treeview-lines .t-bot{background-position:100% -22px;}.t-rtl .t-treeview-lines .t-mid{background-position:100% -44px;}.t-rtl .t-treeview-lines .t-last .t-top{background-position:100% -66px;}.t-rtl .t-treeview-lines .t-group .t-last .t-bot{background-position:100% -22px;}.t-rtl .t-treeview-lines .t-item{background-position:100% 0;}.t-rtl .t-treeview-lines .t-first{background-position:100% 16px;}.t-rtl .t-numerictextbox .t-icon{margin-left:0;margin-right:-16px;}.t-rtl .t-editor-colorpicker .t-icon{border-width:0 1px 0 0;}.t-rtl .t-header .t-tabstrip-items .t-link{padding:.3em .9em;}.t-rtl .t-breadcrumbs{float:right;margin:0 -1px 0 0;}.t-rtl .t-breadcrumbs-wrap{left:auto;right:0;padding-left:0;padding-right:5px;}.t-rtl .t-breadcrumbs-input{padding-left:0;padding-right:2px;}.t-rtl .t-search-wrap{float:left;}.t-rtl .t-search-wrap label{left:auto;right:7px;}.t-rtl .t-search-wrap .t-search{right:auto;left:2px;}.t-rtl .t-tile{float:right;}.t-rtl .t-imagebrowser .t-thumb{float:right;margin:4px 4px 0 10px;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.simple.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.simple.min.css new file mode 100644 index 0000000..56629b9 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.simple.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#828282;background-color:#fff;}.t-header,.t-grid-header{border-color:#828282;background:#e6e6e6;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Simple/sprite.png');}.t-editor .t-tool-icon{background-image:url('Simple/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Simple/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#828282;}.t-separator{border-color:#fff;background-color:#999;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#828282;}.t-active-filter{background-color:#d8d8d8;}.t-state-hover,.t-state-hover:hover{background-color:#ffe79c;border-color:#c98400;}.t-state-active{background-color:#fff;border-color:#828282;}.t-state-selected{background-color:#ffa517;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{border-color:#828282;background:#e8e8e8;}.t-button:hover{background:#ffe79c;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aaa;background-color:#eee;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-selected td{border-color:#ffa517;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Simple/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row td,.t-grouping-row p{background:#fff;}.t-footer-template td{background-color:#e4e4e4;border-color:#999 #e4e4e4 #fff;}.t-group-footer td{background-color:#e4e4e4;border-color:#999;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e4e4e4;border-color:#999;}.t-treeview .t-drop-clue{background-image:url('Simple/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#ffa517;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#999;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Simple/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Simple/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Simple/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#f1f1f1 #8a8a8a #8a8a8a #f1f1f1;background-color:#e6e6e6;}.t-editor-button .t-state-active{border-color:#a4a4a4 #e0e0e0 #e0e0e0 #a4a4a4;background-color:#c8c8c8;}.t-slider .t-draghandle{border-width:1px;border-style:solid;color:#606060;}.t-slider-horizontal .t-draghandle{width:7px;height:18px;top:-8px;}.t-slider-vertical .t-draghandle{width:18px;height:7px;left:-8px;}.t-slider .t-draghandle,.t-state-disabled.t-slider a.t-draghandle,.t-state-disabled .t-slider a.t-draghandle{border-color:#828282;background-color:#e8e8e8;}.t-slider .t-draghandle:hover,.t-slider .t-draghandle:focus{border-color:#c98400;background-color:#ffe79c;}.t-slider .t-draghandle:active{border-color:#c98400;background-color:#ffa517;}.t-slider .t-slider-track{background:#e1e1e1 none;border:1px solid #acacac;}.t-slider .t-slider-selection{background:#ffa517 none;border:1px solid #ca4b0c;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{height:4px;}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{width:4px;}.t-slider-horizontal .t-tick{background-image:url('Simple/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Simple/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Simple/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Simple/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Simple/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Simple/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Simple/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Simple/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Simple/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Simple/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Simple/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Simple/slider-v-right.gif');}.t-tooltip{border-color:#ffa517;background:#ffe79c;}.t-callout{background-image:url('Simple/sprite.png');}.t-splitter{border-color:#828282;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#e6e6e6;border-color:#828282;}.t-splitbar-vertical-hover,.t-splitbar-horizontal-hover{background-color:#ffe79c;}.t-splitbar-horizontal-active,.t-splitbar-vertical-active,.t-ghost-splitbar-horizontal,.t-ghost-splitbar-vertical{background-color:#ffa517;}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active,.t-upload-files{border-color:#9b9b9b;}.t-dropzone-hovered,.t-upload-files{background-color:#e8e8e8;}.t-dropzone em{color:#9b9b9b;}.t-progress{background-color:#e1e1e1;border-color:#b4b4b4 #adadad #9e9e9e;}.t-progress-status{background-color:#ffa517;border-color:#ca4b0c;}.t-imagebrowser .t-content{background:#e8e8e8;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#9b9b9b;}.t-tiles-toolbar{border-color:#828282;}.t-tiles{border-color:#9b9b9b;background:#fff;}.t-tile{border-color:#fff;}.t-tiles li.t-state-hover{border-color:#c98400;background-color:#ffe79c;}.t-tiles li.t-state-selected{border-color:#c98400;background-color:#ffa517;}.t-tile .t-folder{background-image:url('Simple/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#6e6659;}.t-tile-empty strong{color:#9e9e9e;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.sitefinity.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.sitefinity.min.css new file mode 100644 index 0000000..2eeed4b --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.sitefinity.min.css @@ -0,0 +1 @@ +.t-widget{border-width:0;border-color:#ccc;background:none;}.t-autocomplete{border-width:1px;border-style:solid;}.t-header,.t-grid-header{border-color:#ccc;background:#fff;}.t-icon{background-image:url('Sitefinity/sprite.png');}.t-editor .t-tool-icon{background-image:url('Sitefinity/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:-16px -272px;}.t-minus,.t-minus-disabled{background-position:0 -272px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:-32px -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-1px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-grid .t-header .t-link .t-arrow-down{background-position:0 -256px;}.t-grid .t-header .t-link .t-arrow-up{background-position:-16px -256px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-loading,.t-widget .t-loading{background:transparent url('Sitefinity/loading.gif') no-repeat 0 0;}.t-widget{color:#000;}.t-link,.t-popup{color:#105cd6;}.t-group,.t-content,.t-editable-area{border-color:#ccc #666 #666 #ccc;background-color:#fff;border-width:1px 2px 2px 1px;}.t-colorpicker .t-arrow-down{border-color:#ccc;}.t-separator{border-color:#fff;background-color:#999;}.t-alt{background:none;}.t-state-default{border-color:#eee;}.t-active-filter{background-color:#e5e5e5;}.t-state-hover{border-color:#dee2e7;}.t-state-active{background-color:#fff;border-color:#ccc;}.t-state-selected{background-color:#ffffe1;}.t-state-error{border-color:#e50000;}.t-button{border-width:1px 2px 2px 1px;border-color:#ccc #666 #666 #ccc;color:#333;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#f1f1f1;}.t-button:hover{background:#fff;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#afaeae;border-color:#ccc;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#ccc;background-color:transparent;}.t-widget .t-status{border:0;}.t-autocomplete{border-width:1px;border-style:solid;}.t-combobox .t-state-default,.t-dropdown .t-state-default{border-color:#ccc;}.t-grid .t-header,.t-grid .t-header .t-link{letter-spacing:1px;text-transform:uppercase;font-size:.866em;line-height:2.6em;color:#666;background:none;}.t-grid .t-header,.t-grid td{border-bottom:1px solid #eee;border-color:#eee;}.t-grid .t-grid-filter{border-left:0;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Sitefinity/sprite.png') no-repeat -48px -288px;}.t-treeview .t-drop-clue{background-image:url('Sitefinity/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#999;}.t-group-footer td,.t-footer-template td,.t-grid-footer{border-color:#eee #fff;}.t-grid-pager .t-state-hover{border-color:#ccc;color:#002bb8;background:#f0f0f0;}.t-menu .t-state-hover,.t-panelbar .t-state-hover,.t-tabstrip .t-state-hover{color:#002bb8;}.t-tabstrip{border:1px solid #ccc;}.t-tabstrip .t-state-default,.t-tabstrip .t-state-disabled{border-bottom-color:#ccc;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#ddd;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Sitefinity/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Sitefinity/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Sitefinity/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-window,.t-drag-clue{background-color:#fff;}.t-slider .t-draghandle{background-image:url('Sitefinity/sprite.png');color:#000;}.t-slider-track{border-color:#e8e9ea;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Sitefinity/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Sitefinity/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Sitefinity/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Sitefinity/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Sitefinity/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Sitefinity/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Sitefinity/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Sitefinity/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Sitefinity/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Sitefinity/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Sitefinity/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Sitefinity/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Sitefinity/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Sitefinity/slider-v-right.gif');}.t-tooltip{border-width:1px;background:#f1f1f1;color:#333;}.t-callout{background-image:url('Sitefinity/sprite.png');}div.t-splitter{border:1px solid #ccc;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#f1f1f1;border-color:#ccc;}.t-splitbar-vertical-hover,.t-splitbar-horizontal-hover{background-color:#ddd;}.t-splitbar-horizontal-active,.t-splitbar-vertical-active,.t-ghost-splitbar-horizontal,.t-ghost-splitbar-vertical{background-color:#ccc;}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active{border-color:#aaa;}.t-dropzone-hovered{background-color:#efefef;}.t-dropzone em{color:#999;}.t-upload-files{border-width:0;}.t-progress,.t-progress-status{background-image:url('Sitefinity/sprite.png');}.t-progress{background-position:0 -465px;border-color:#f8f8f8 transparent #cacaca;}.t-progress-status{background-position:0 -471px;border-color:#62962a transparent #4e8315;}.t-imagebrowser .t-content{background:#efefef;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#999;}.t-tiles-toolbar{border-color:#ccc;}.t-tiles-arrange a{color:#000;}.t-tiles{border-color:#ccc;background:#fff;}.t-tile{border-color:#fff;}.t-tiles li.t-state-hover{border-color:#abadb3;}.t-tiles li.t-state-selected{border-color:#abadb3;background-color:#999;color:#fff;}.t-tile .t-folder{background-image:url('Telerik/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#999;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#d2d2d2;}.t-tile-empty strong{color:#9b9b9b;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.sunset.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.sunset.min.css new file mode 100644 index 0000000..2814cea --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.sunset.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#714734;background-color:#ececd8;}.t-header,.t-grid-header{border-color:#854324;background:#90330a url('Sunset/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Sunset/sprite.png');}.t-editor .t-tool-icon{background-image:url('Sunset/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Sunset/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fbfbc7;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#bbb99d;background-color:#ececd8;}.t-colorpicker .t-arrow-down{border-color:#714734;}.t-separator{border-color:#a85835;background-color:#7c2f0c;}.t-alt{background-color:#fff;}.t-state-default{border-color:#854324;}.t-active-filter{background-color:#d25e21;}.t-state-hover,.t-state-hover .t-link,.t-group .t-state-hover{color:#fff;}.t-state-hover,.t-state-hover:hover{background-color:#c5551c;border-color:#854324;}.t-state-active{background-color:#ececd8;border-color:#854324;}.t-state-active,.t-state-active .t-link{color:#333;}.t-state-active .t-header,.t-state-active .t-state-hover{color:#fff;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#d1711a;color:#2d0e06;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#d1711a url('Sunset/sprite.png') repeat-x 0 -560px;}.t-button:hover{border-color:#e7941e;background-position:0 -624px;background-color:#e8961e;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{border-color:#666;color:#bf9e8f;}a.t-button.t-state-disabled,button.t-button.t-state-disabled,.t-state-disabled .t-button{color:#b83b01;border-color:#d1711a;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{border-color:#a04a23;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#bbb99d;background-color:#dee0c8;}.t-panelbar .t-link{border-color:#714734;}.t-editor-button .t-state-active{background-color:#d3751a;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grid tr.t-state-selected{background-color:#ea9959;}.t-grouping-row td{background:#fff url('Sunset/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#dee0c8;border-color:#cabaab #dee0c8 #f1e9dc;}.t-group-footer td{background-color:#dee0c8;border-color:#cabaab;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#dee0c8;border-color:#cabaab;}.t-grouping-header .t-group-indicator{color:#333;border-color:#999;}.t-grouping-dropclue{background:url('Sunset/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Sunset/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#904C23;background-color:#ea9959;}.t-calendar th{border-color:#d2c7b4;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Sunset/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Sunset/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Sunset/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#ca734b #722205 #722205 #ca734b;background-color:#a13606;}.t-editor-button .t-state-active{border-color:#a24b0f #e09d5c #e09d5c #a24b0f;background-color:#d3751a;}.t-slider .t-draghandle{background-image:url('Sunset/sprite.png');color:#714734;}.t-slider-track{border-color:#c6c0a8;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Sunset/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Sunset/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Sunset/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Sunset/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Sunset/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Sunset/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Sunset/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Sunset/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Sunset/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Sunset/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Sunset/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Sunset/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Sunset/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Sunset/slider-v-right.gif');}.t-tooltip{border-color:#c0bca2;background:#d6ceba 0 -96px repeat-x url('Sunset/sprite.png');color:#2d0e06;}.t-callout{background-image:url('Sunset/sprite.png');}.t-splitter{border-color:#cac8ab;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#ececd8;border-color:#cac8ab;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Sunset/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Sunset/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#bbb99d;}.t-dropzone-hovered,.t-upload-files{background-color:#f5f5e6;}.t-dropzone em{color:#714734;}.t-progress,.t-progress-status{background-image:url('Sunset/sprite.png');}.t-progress{background-position:0 -465px;border-color:#cfc5b1 #cbc6af #c2bda4;}.t-progress-status{background-position:0 -472px;border-color:#2b140d transparent #593324;}.t-imagebrowser .t-content{background:#dee0c8;}.t-breadcrumbs .t-link{color:#2d0e06;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#714734;}.t-tiles-toolbar{border-color:#bbb99d;background:#d6ceba 0 -96px repeat-x url('Sunset/sprite.png');}.t-tiles-arrange{color:#714734;}.t-tiles-arrange a{color:#2d0e06;}.t-tiles{border-color:#bbb99d;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Sunset/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#e7941e;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#854324;background-position:0 -100px;color:#fff;}.t-tile .t-folder{background-image:url('Sunset/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#986011;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#dbaa93;}.t-tile-empty strong{color:#ae9b87;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.telerik.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.telerik.min.css new file mode 100644 index 0000000..f93ec18 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.telerik.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#828282;background-color:#fff;}.t-header,.t-grid-header{border-color:#828282;background:#f6f6f6 url('Telerik/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Telerik/sprite.png');}.t-editor .t-tool-icon{background-image:url('Telerik/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Telerik/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#828282;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#828282;}.t-separator{border-color:#f3f3f3;background-color:#bdbdbd;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#828282;}.t-active-filter{background-color:#dfdfdf;}.t-state-hover,.t-state-hover:hover{background-color:#b6f0a3;border-color:#28a900;}.t-state-active{background-color:#fff;border-color:#28a900;}.t-state-selected{background-color:#8cc569;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#828282;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#f6f6f6 url('Telerik/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#a2ea8b;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aaa;background-color:#eee;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grouping-row td{background:#fff url('Telerik/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#eee;border-color:#828282 #eee #fff;}.t-group-footer td{background-color:#eee;border-color:#828282;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#eee;border-color:#828282;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Telerik/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Telerik/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#1c7600;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#c5c5c5;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Telerik/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Telerik/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Telerik/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#d6f1cd #809a77 #809a77 #d6f1cd;background-color:#c0e9b3;}.t-editor-button .t-state-active{border-color:#8c8c8c #d8d8d8 #d8d8d8 #8c8c8c;background-color:#c4c4c4;}.t-slider .t-draghandle{background-image:url('Telerik/sprite.png');color:#828282;}.t-slider-track{border-color:#a5a5a5;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Telerik/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Telerik/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Telerik/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Telerik/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Telerik/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Telerik/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Telerik/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Telerik/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Telerik/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Telerik/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Telerik/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Telerik/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Telerik/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Telerik/slider-v-right.gif');}.t-tooltip{border-color:#cccab0;background:#f6f6f6 0 -557px repeat-x url('Telerik/sprite.png');}.t-callout{background-image:url('Telerik/sprite.png');}.t-splitter{border-color:#aaa;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#eee;border-color:#aaa;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Telerik/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Telerik/sprite-vertical.png');}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active,.t-upload-files{border-color:#abadb3;}.t-dropzone-hovered,.t-upload-files{background-color:#f1f1f1;}.t-dropzone em{color:#999;}.t-progress,.t-progress-status{background-image:url('Telerik/sprite.png');}.t-progress{background-position:0 -465px;border-color:#b4b4b4 #cbc6af #c2bda4;}.t-progress-status{background-position:0 -472px;border-color:#9bcc76 transparent #63af3a;}.t-imagebrowser .t-content{background:#f1f1f1;}.t-breadcrumbs .t-link{color:#666;}.t-breadcrumbs .t-link:hover{color:#000;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#999;}.t-tiles-toolbar{border-color:#e2e3ea;}.t-tiles-arrange{color:#666;}.t-tiles-arrange a{color:#000;}.t-tiles{border-color:#e2e3ea;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Telerik/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#abadb3;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#abadb3;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Telerik/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#666;}.t-tile-empty strong{color:#9e9e9e;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.vista.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.vista.min.css new file mode 100644 index 0000000..c46cca5 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.vista.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#a7bac5;background-color:#fff;}.t-widget,.t-widget button,.t-widget input,.t-widget select,.t-button,.t-formatted-value{font-family:"Segoe UI",Arial,sans-serif;}.t-header,.t-grid-header{border-color:#a7bac5;background:#a6d9f4 url('Vista/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Vista/sprite.png');}.t-editor .t-tool-icon{background-image:url('Vista/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied,.t-cancel{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Vista/loading.gif') no-repeat 0 0;}.t-widget,.t-link:link,.t-link:active,.t-link:visited,.t-popup{color:#000;}.t-group,.t-content,.t-editable-area{border-color:#a7bac5;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#a7bac5;}.t-separator{border-color:#eaf6fd;background-color:#a7bac5;}.t-alt{background-color:#f7f7f7;}.t-state-default{border-color:#a7bac5;}.t-active-filter{background-color:#ceeefd;}.t-state-hover,.t-state-hover:hover{background-color:#e3f4fc;border-color:#a7bac5;}.t-state-active{background-color:#fff;border-color:#a7bac5;}.t-state-selected{background-color:#c8e8f8;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#a7bac5;color:#333;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#d1d1d1 url('Vista/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#a7daf4;}.t-state-disabled,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;border-color:#bbb;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#bbb;background-color:#eff7fc;}.t-grid td{border-color:#ddd;border-right:1px solid #eee;}.t-grouping-row td{background:#fff url('Vista/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#e0e5f5;border-color:#aec5d1 #e0e5f5 #fff;}.t-group-footer td{background-color:#e0e5f5;border-color:#aec5d1;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e0e5f5;border-color:#aec5d1;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Vista/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-grouping-row p{margin-left:-.6em;padding-left:.6em;}.t-treeview .t-drop-clue{background-image:url('Vista/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#99defd;}.t-panelbar .t-link,.t-panelbar .t-group,.t-panelbar .t-content{border-color:#aaa;}.t-calendar th{border-color:#e0e0e0;}.t-other-month .t-link{color:#777;}.t-editor-button .t-state-hover{border-color:#ebf6fd #88a1af #88a1af #ebf6fd;background-color:#c9e8fa;}.t-editor-button .t-state-active{border-color:#809eae #bae1f5 #bae1f5 #809eae;background-color:#95cfec;}.t-slider .t-draghandle{background-image:url('Vista/sprite.png');color:#333;}.t-slider-track{border-color:#d3dce2;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Vista/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Vista/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Vista/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Vista/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Vista/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Vista/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Vista/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Vista/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Vista/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Vista/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Vista/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Vista/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Vista/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Vista/slider-v-right.gif');}.t-tooltip{border-color:#767676;background:#e4e5f0 0 -96px repeat-x url('Vista/sprite.png');}.t-callout{background-image:url('Vista/sprite.png');}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Vista/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Vista/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#d2dfe6;}.t-dropzone-hovered,.t-upload-files{background-color:#eff7fc;}.t-dropzone em{color:#a7bac5;}.t-progress,.t-progress-status{background-image:url('Vista/sprite.png');}.t-progress{background-position:0 -467px;border-color:#bfd0da #c4d4dd;}.t-progress-status{background-position:0 -471px;border-color:#1db2ee transparent #0067c2;}.t-imagebrowser .t-content{background:#f1f1f1;}.t-breadcrumbs .t-link{color:#666;}.t-breadcrumbs .t-link:hover{color:#06c;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#777d81;}.t-tiles-toolbar{border-color:#a7bac5;}.t-tiles{border-color:#a7bac5;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Vista/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#99defd;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#9bd3f0;background-position:0 -100px;}.t-tiles-toolbar,.t-tile .t-folder{background-image:url('Vista/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#767d80;}.t-tile-empty strong{color:#a7bac5;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.web20.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.web20.min.css new file mode 100644 index 0000000..58bc7df --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.web20.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#4e75b3;background-color:#fff;}.t-header,.t-grid-header{border-color:#4a70ae;background:#7fa5d7 url('Web20/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Web20/sprite.png');}.t-editor .t-tool-icon{background-image:url('Web20/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-48px -160px;}.t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -224px;}.t-arrow-prev{background-position:-16px -224px;}.t-arrow-next{background-position:-32px -224px;}.t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Web20/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fff;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#4a70ae;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#4e75b3;}.t-separator{border-color:#93b2dc;background-color:#688bbb;}.t-alt{background-color:#fff;}.t-state-default{border-color:#4a70ae;}.t-active-filter{background-color:#87a6d4;}.t-state-hover,.t-state-hover .t-link,.t-header .t-state-hover,.t-group .t-state-hover{color:#333;}.t-state-hover,.t-state-hover:hover{background-color:#a4c2f1;border-color:#4a70ae;}.t-state-active{background-color:#fff;border-color:#4a70ae;}.t-state-active,.t-state-active .t-link,.t-state-active .t-header .t-state-active,.t-state-active .t-header .t-state-active .t-link{color:#333;}.t-state-active .t-header,.t-state-active .t-header .t-link{color:#fff;}.t-state-active .t-state-hover,.t-state-active .t-header .t-state-hover .t-link{color:#333;}.t-state-selected{background-color:#d4ffbc;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#4a70ae;color:#fff;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#607fc5 url('Web20/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#c1d5ef;color:#0f3789;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#abb9de;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#829cbf;background-color:#e3eeff;}.t-panelbar .t-link{border-color:#333;}.t-grid td,.t-grid .t-last{border-bottom:1px solid #cfd9e7;border-right:1px solid #829cbf;}.t-grouping-row td{background:#fff url('Web20/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#e3eeff;border-color:#829cbf #e3eeff #fff;}.t-group-footer td{background-color:#e3eeff;border-color:#829cbf;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e3eeff;border-color:#829cbf;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Web20/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Web20/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#85c843;}.t-editor-button .t-state-active{background-color:#4567ba;}.t-calendar th{background-color:#ecf4ff;border-color:#bcd2f1;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('Web20/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('Web20/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('Web20/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-drag-clue{color:#fff;}.t-editor-button .t-state-hover{border-color:#8ea9d1 #385b9d #385b9d #8ea9d1;background-color:#7fa5d7;}.t-editor-button .t-state-active{border-color:#3a5c9d #89a2cc #89a2cc #3a5c9d;background-color:#567cb8;}.t-slider .t-draghandle{background-image:url('Web20/sprite.png');color:#4e75b3;}.t-slider-track{border-color:#7794c3;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Web20/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Web20/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Web20/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Web20/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Web20/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Web20/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Web20/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Web20/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Web20/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Web20/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Web20/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Web20/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Web20/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Web20/slider-v-right.gif');}.t-tooltip{border-color:#b2c5e4;background:#bed4f6 0 -96px repeat-x url('Web20/sprite.png');color:#0f3789;}.t-callout{background-image:url('Web20/sprite.png');}.t-splitter{border-color:#829cbf;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#93add4;border-color:#829cbf;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Web20/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Web20/sprite-vertical.png');}.t-restricted-size-horizontal,.t-restricted-size-vertical{background-color:#f00;}.t-dropzone-active,.t-upload-files{border-color:#829cbf;}.t-dropzone-hovered,.t-upload-files{background-color:#cedcef;}.t-dropzone em{color:#747886;}.t-progress,.t-progress-status{background-image:url('Web20/sprite.png');}.t-progress{background-position:0 -465px;border-color:#7996c6 #819dca #7996c6;}.t-progress-status{background-position:0 -472px;border-color:#e1ff86 transparent #82eb30;}.t-imagebrowser .t-content{background:#c1d5ef;}.t-tiles-toolbar .t-upload .t-button,.t-breadcrumbs .t-link,.t-tiles-arrange,.t-tiles-arrange a{color:#102152;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#747886;}.t-tiles-toolbar{border-color:#829cbf;background:#bed4f6 repeat-x 0 -96px url('Web20/sprite.png');}.t-tiles{border-color:#829cbf;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Web20/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#4a70ae;background-position:0 0;color:#fff;}.t-tiles li.t-state-selected{border-color:#29448b;background-position:0 -100px;color:#fff;}.t-tile .t-folder{background-image:url('Web20/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#747886;}.t-tiles li.t-state-hover em,.t-tiles li.t-state-hover .t-filesize .t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#b3c4ef;}.t-tile-empty strong{color:#a5bce0;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.webblue.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.webblue.min.css new file mode 100644 index 0000000..0a95f54 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.webblue.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#768ca5;background-color:#fff;}.t-header,.t-grid-header{border-color:#426682;background:#718ca1 url('WebBlue/sprite.png') repeat-x 0 -752px;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('WebBlue/sprite.png');}.t-editor .t-tool-icon{background-image:url('WebBlue/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-header .t-arrow-up,.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-header .t-arrow-down,.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-header .t-arrow-first,.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-header .t-arrow-prev,.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-header .t-arrow-next,.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-header .t-arrow-last,.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-cancel{background-position:-48px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('WebBlue/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#333;}.t-header,.t-header .t-link{color:#fff;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#426682;background-color:#fff;}.t-colorpicker .t-arrow-down{border-color:#768ca5;}.t-separator{border-color:#8aa0b1;background-color:#516273;}.t-alt{background-color:#dae2e8;}.t-state-default{border-color:#426682;}.t-active-filter{background-color:#8dc1d7;}.t-state-hover,.t-state-hover .t-link,.t-header .t-state-hover,.t-group .t-state-hover{color:#333;}.t-state-hover,.t-state-hover:hover{background-color:#acd4e3;border-color:#5d9fb7;}.t-state-active{background-color:#fff;border-color:#426682;}.t-state-active,.t-state-active .t-link{color:#333;}.t-state-active .t-header{color:#fff;}.t-state-active .t-state-hover{color:#333;}.t-state-selected{background-color:#3e94b4;color:#fff;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{border-color:#426682;color:#0d202b;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{background:#d6e1e7 url('WebBlue/sprite.png') repeat-x 0 -560px;}.t-button:hover{background-position:0 -624px;background-color:#bee3f6;color:#0e3d4f;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link{color:#bbb;}.t-button.t-state-disabled,.t-button.t-state-disabled:hover,.t-state-disabled .t-button{color:#657c8c;}.t-header .t-state-disabled,.t-header .t-state-disabled .t-link{color:#abc0d3;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#a2b3c7;background-color:#dae2e8;}.t-panelbar .t-link{border-color:#333;}.t-grid td{border-right:1px solid #dae2e8;}.t-grouping-row td{background:#fff url('WebBlue/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#dae2e8;border-color:#a2b3c7 #dae2e8 #fff;}.t-group-footer td{background-color:#dae2e8;border-color:#a2b3c7;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#dae2e8;border-color:#a2b3c7;}.t-grouping-header .t-group-indicator{color:#333;border-color:#aaa;}.t-grouping-dropclue{background:url('WebBlue/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('WebBlue/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#133C44;}.t-editor-button .t-state-active{background-color:#a2b9c9;}.t-calendar th{background-color:#dfeeff;border-color:#a7c0df;}.t-other-month .t-link{color:#777;}.t-treeview-lines .t-top,.t-treeview-lines .t-mid,.t-treeview-lines .t-bot{background-image:url('WebBlue/treeview-nodes.png');}.t-rtl .t-treeview-lines .t-top,.t-rtl .t-treeview-lines .t-mid,.t-rtl .t-treeview-lines .t-bot{background-image:url('WebBlue/treeview-nodes-rtl.png');}.t-treeview-lines .t-item{background-image:url('WebBlue/treeview-line.png');}.t-treeview-lines .t-last{background-image:none;}.t-editor-button .t-state-hover{border-color:#5f7c95 #3b576f #3b576f #5f7c95;background-color:#5f7c95;}.t-editor-button .t-state-active{border-color:#5b758e #97b5c7 #97b5c7 #5b758e;background-color:#8ca5b8;}.t-slider .t-draghandle{background-image:url('WebBlue/sprite.png');color:#768ca5;}.t-slider-track{border-color:#c1cbd6;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('WebBlue/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('WebBlue/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('WebBlue/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('WebBlue/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('WebBlue/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('WebBlue/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('WebBlue/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('WebBlue/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('WebBlue/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('WebBlue/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('WebBlue/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('WebBlue/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('WebBlue/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('WebBlue/slider-v-right.gif');}.t-tooltip{border-color:#a7c0df;background:#c4d4dd 0 -96px repeat-x url('WebBlue/sprite.png');color:#0d202b;}.t-callout{background-image:url('WebBlue/sprite.png');}.t-splitter{border-color:#a2b3c7;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#b4c5d9;border-color:#a2b3c7;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('WebBlue/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('WebBlue/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#a2b3c7;}.t-dropzone-hovered,.t-upload-files{background-color:#dae2e8;}.t-dropzone em{color:#8a98a8;}.t-progress,.t-progress-status{background-image:url('WebBlue/sprite.png');}.t-progress{background-position:0 -465px;border-color:#92a4b8 #adbac9 #a2b3c7;}.t-progress-status{background-position:0 -472px;border-color:#a4ff91 transparent #5aff62;}.t-imagebrowser .t-content{background:#dae2e8;}.t-tiles-toolbar .t-upload .t-button,.t-breadcrumbs .t-link,.t-tiles-arrange,.t-tiles-arrange a{color:#0e3d4f;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#8a98a8;}.t-tiles-toolbar{border-color:#a2b3c7;background:#c4d4dd repeat-x 0 -96px url('WebBlue/sprite.png');}.t-tiles{border-color:#a2b3c7;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('WebBlue/imagebrowser.png');color:#0e3d4f;}.t-tiles li.t-state-hover{border-color:#4a70ae;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#768ca5;background-position:0 -100px;color:#fff;}.t-tile .t-folder{background-image:url('WebBlue/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#8a98a8;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#b2c5d2;}.t-tile-empty strong{color:#b3c6d3;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/2011.1.315/telerik.windows7.min.css b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.windows7.min.css new file mode 100644 index 0000000..9df915c --- /dev/null +++ b/CharityPortal/CharityPortal/Content/2011.1.315/telerik.windows7.min.css @@ -0,0 +1 @@ +.t-widget{border-color:#a5b3c5;background-color:#fcfcfc;}.t-header,.t-grid-header{border-color:#a5b3c5;background:#f1f5fb;}.t-panelbar .t-state-hover{background-image:none;}.t-icon{background-image:url('Windows7/sprite.png');}.t-editor .t-tool-icon{background-image:url('Windows7/editor.png');}.t-expand{background-position:0 -160px;}.t-collapse{background-position:0 -176px;}.t-rtl .t-expand{background-position:-64px -160px;}.t-plus,.t-plus-disabled{background-position:0 -256px;}.t-minus,.t-minus-disabled{background-position:-16px -256px;}.t-rtl .t-plus,.t-rtl .t-plus-disabled{background-position:0 -272px;}.t-rtl .t-minus,.t-rtl .t-minus-disabled{background-position:-16px -272px;}.t-arrow-up{background-position:-16px -160px;}.t-arrow-down{background-position:-16px -176px;}.t-header .t-arrow-up,.t-state-hover .t-arrow-up{background-position:-48px -160px;}.t-header .t-arrow-down,.t-state-hover .t-arrow-down{background-position:-48px -176px;}.t-state-disabled .t-arrow-up{background-position:-32px -160px;}.t-state-disabled .t-arrow-down{background-position:-32px -176px;}.t-numerictextbox .t-arrow-up{background-position:-16px -162px;}.t-numerictextbox .t-arrow-down{background-position:-16px -178px;}.t-arrow-up-small{background-position:0 -304px;}.t-arrow-down-small{background-position:-16px -304px;}.t-arrow-first{background-position:0 -192px;}.t-arrow-prev{background-position:-16px -192px;}.t-arrow-next{background-position:-32px -192px;}.t-arrow-last{background-position:-48px -192px;}.t-header .t-arrow-first,.t-state-hover .t-arrow-first{background-position:0 -224px;}.t-header .t-arrow-prev,.t-state-hover .t-arrow-prev{background-position:-16px -224px;}.t-header .t-arrow-next,.t-state-hover .t-arrow-next{background-position:-32px -224px;}.t-header .t-arrow-last,.t-state-hover .t-arrow-last{background-position:-48px -224px;}.t-state-disabled .t-arrow-first{background-position:0 -208px;}.t-state-disabled .t-arrow-prev{background-position:-16px -208px;}.t-state-disabled .t-arrow-next{background-position:-32px -208px;}.t-state-disabled .t-arrow-last{background-position:-48px -208px;}.t-filter{background-position:0 -240px;}.t-clear-filter{background-position:-16px -240px;}.t-refresh{background-position:-32px -240px;}.t-icon-calendar{background-position:-48px -240px;}.t-icon-clock{background-position:-64px -336px;}.t-edit{background-position:0 -336px;}.t-delete{background-position:-16px -336px;}.t-insert,.t-update{background-position:-32px -336px;}.t-group-delete{background-position:0 -288px;}.t-maximize{background-position:-16px -288px;}.t-restore{background-position:-32px -288px;}.t-close{background-position:-64px -288px;}.t-insert-top{background-position:0 -320px;}.t-insert-middle{background-position:-16px -320px;}.t-insert-bottom{background-position:-32px -320px;}.t-add{background-position:-48px -320px;}.t-denied,.t-cancel{background-position:-64px -320px;}.t-loading,.t-widget .t-loading{background:transparent url('Windows7/loading.gif') no-repeat 0 0;}.t-widget,.t-link,.t-popup{color:#000;}.t-header,.t-header .t-link{color:#4c607a;}.t-header .t-group,.t-group .t-link{color:#333;}.t-group,.t-content,.t-editable-area{border-color:#a5b3c5;background-color:#fcfcfc;}.t-colorpicker .t-arrow-down{border-color:#a5b3c5;}.t-separator{border-color:#fff;background-color:#c2cedb;}.t-alt{background-color:#ebeff3;}.t-state-default{border-color:#a5b3c5;}.t-active-filter{background-color:#c3dcfa;}.t-state-hover,.t-state-hover .t-link,.t-header .t-state-hover,.t-group .t-state-hover{color:#000;}.t-state-hover,.t-state-hover:hover{background-color:#d1e4fc;border-color:#8daed5;}.t-state-active{background-color:#fff;border-color:#426682;}.t-state-selected{background-color:#deecfe;}.t-state-error{border-style:ridge;border-color:#f00;background-color:#ffc0cb;}.t-button{color:#0d202b;}.t-button,button.t-button.t-state-disabled:hover,a.t-button.t-state-disabled:hover,.t-state-disabled .t-button:hover{border-color:#c2cedb;background:#e7ecf5 url('Windows7/sprite.png') repeat-x 0 -560px;}.t-button:hover{border-color:#9bc9ff;background-position:0 -624px;background-color:#dde8f6;color:#0e3d4f;}.t-state-disabled,.t-state-disabled:hover,.t-state-disabled .t-link,.t-state-disabled .t-button{color:#999;}.t-toolbar,.t-grouping-header,.t-grid-pager,.t-widget .t-status{border-color:#aec5d1;background-color:#f1f5fb;}.t-panelbar .t-link{border-color:#a5b3c5;}.t-tabstrip .t-item{border-bottom-color:#426682;}.t-grid td{border-right:1px solid #dae2e8;}.t-grouping-row td{background:#fff url('Windows7/sprite.png') repeat-x 0 -48px;}.t-footer-template td{background-color:#e2eaf4;border-color:#aec5d1 #e2eaf4;}.t-group-footer td{background-color:#e2eaf4;border-color:#aec5d1;}.t-grid-footer,.t-grid-footer-wrap table{background-color:#e2eaf4;border-color:#aec5d1;}.t-grouping-header .t-group-indicator{color:#333;border-color:#ccc;}.t-grouping-dropclue{background:url('Windows7/sprite.png') no-repeat -48px -288px;}.t-grouping-row .t-group-cell,.t-grouping-row p{background:#fff;}.t-treeview .t-drop-clue{background-image:url('Windows7/sprite.png');background-position:0 -358px;}.t-treeview .t-state-selected{border-color:#8fb0d6;}.t-calendar th{border-color:#d4dbe5;}.t-other-month .t-link{color:#a7a7a7;}.t-editor-button .t-state-hover{border-color:#e5f0fd #8ba6c4 #8ba6c4 #e5f0fd;background-color:#d1e4fc;}.t-editor-button .t-state-active{border-color:#aec1d6 #e3ebf5 #e3ebf5 #aec1d6;background-color:#ccdbed;}.t-slider .t-draghandle{background-image:url('Windows7/sprite.png');color:#4c607a;}.t-slider-track{border-color:#a6abc3;}.t-slider-horizontal .t-slider-track,.t-slider-horizontal .t-slider-selection{background-image:url('Windows7/sprite.png');}.t-slider-vertical .t-slider-track,.t-slider-vertical .t-slider-selection{background-image:url('Windows7/sprite-vertical.png');}.t-slider-horizontal .t-tick{background-image:url('Windows7/slider-hs-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick{background-image:url('Windows7/slider-hs-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick{background-image:url('Windows7/slider-hs-bottom.gif');}.t-slider-horizontal .t-tick-large{background-image:url('Windows7/slider-h-both.gif');}.t-slider-horizontal .t-slider-topleft .t-tick-large{background-image:url('Windows7/slider-h-top.gif');}.t-slider-horizontal .t-slider-bottomright .t-tick-large{background-image:url('Windows7/slider-h-bottom.gif');}.t-slider-vertical .t-tick{background-image:url('Windows7/slider-vs-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick{background-image:url('Windows7/slider-vs-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick{background-image:url('Windows7/slider-vs-right.gif');}.t-slider-vertical .t-tick-large{background-image:url('Windows7/slider-v-both.gif');}.t-slider-vertical .t-slider-topleft .t-tick-large{background-image:url('Windows7/slider-v-left.gif');}.t-slider-vertical .t-slider-bottomright .t-tick-large{background-image:url('Windows7/slider-v-right.gif');}.t-tooltip{background:#e7ecf5 0 -560px repeat-x url('Windows7/sprite.png');color:#0e3d4f;}.t-callout{background-image:url('Windows7/sprite.png');}.t-splitter{border-color:#dae2e8;}.t-splitbar-vertical,.t-splitbar-horizontal{background-color:#f1f5fb;border-color:#dae2e8;}.t-splitbar-vertical,.t-ghost-splitbar-vertical{background-image:url('Windows7/sprite.png');}.t-splitbar-horizontal,.t-ghost-splitbar-horizontal{background-image:url('Windows7/sprite-vertical.png');}.t-dropzone-active,.t-upload-files{border-color:#c2cedb;}.t-dropzone-hovered,.t-upload-files{background-color:#f1f5fb;}.t-dropzone em{color:#a7a7a7;}.t-progress,.t-progress-status{background-image:url('Windows7/sprite.png');}.t-progress{background-position:0 -465px;border-color:#c2cedb #c2cedb;}.t-progress-status{background-position:0 -472px;border-color:#1db2ee transparent #3186db;}.t-imagebrowser .t-content{background:#f1f5fb;}.t-breadcrumbs .t-link,.t-tiles-arrange,.t-tiles-arrange a{color:#1e395b;}.t-breadcrumbs .t-first,.t-breadcrumbs .t-first:hover,.t-search-wrap label{color:#a7a7a7;}.t-tiles-toolbar{border-color:#7da2ce;background:#dcebfc;}.t-tiles{border-color:#c2cedb;background:#fff;}.t-tile{border-color:#fff;background:0 100px repeat-x url('Windows7/imagebrowser.png');}.t-tiles li.t-state-hover{border-color:#b8d6fb;background-position:0 0;}.t-tiles li.t-state-selected{border-color:#7da2ce;background-position:0 -100px;}.t-tile .t-folder{background-image:url('Windows7/imagebrowser.png');}.t-tile em,.t-tile .t-filesize{color:#a7a7a7;}.t-tiles li.t-state-selected em,.t-tiles li.t-state-selected .t-filesize{color:#7da2ce;}.t-tile-empty strong{color:#c2cedb;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/Site.css b/CharityPortal/CharityPortal/Content/Site.css new file mode 100644 index 0000000..250271a --- /dev/null +++ b/CharityPortal/CharityPortal/Content/Site.css @@ -0,0 +1,298 @@ +/*---------------------------------------------------------- +The base color for this template is #5c87b2. If you'd like +to use a different color start by replacing all instances of +#5c87b2 with your new color. +----------------------------------------------------------*/ +body +{ + background-color: #6F6F6F; + font-size: 75%; + font-family: Verdana, Tahoma, Arial, "Helvetica Neue", Helvetica, Sans-Serif; + margin: 0; + padding: 0; + color: #696969; +} + +/* HEADINGS +----------------------------------------------------------*/ +h1, h2, h3, h4, h5, h6 +{ + font-size: 1.5em; + color: #000; +} + +h1 +{ + font-size: 2em; + padding-bottom: 0; + margin-bottom: 0; +} +h2 +{ + padding: 0 0 10px 0; +} +h3 +{ + font-size: 1.2em; +} +h4 +{ + font-size: 1.1em; +} +h5, h6 +{ + font-size: 1em; +} + +a +{ + color: #696969; +} + +li +{ + line-height: 1.6; +} + +/* this rule styles

tags that are the +first child of the left and right table columns */ +.rightColumn > h1, .rightColumn > h2, .leftColumn > h1, .leftColumn > h2 +{ + margin-top: 0; +} + +/* PRIMARY LAYOUT ELEMENTS +----------------------------------------------------------*/ + +/* you can specify a greater or lesser percentage for the +page width. Or, you can specify an exact pixel width. */ +.page +{ + width: 90%; + margin-left: auto; + margin-right: auto; +} + +#header +{ + position: relative; + margin-bottom: 0px; + color: #000; + padding: 0; +} + +#header h1 +{ + font-weight: bold; + padding: 5px 0; + margin: 0; + color: #fff; + border: none; + line-height: 2em; + font-size: 32px !important; +} + +#main +{ + background: #fff; + padding: 30px 30px 15px 30px; + margin-bottom: 30px; + _height: 1px; /* only IE6 applies CSS properties starting with an underscore */ +} + +#footer +{ + color: #999; + padding: 10px 0; + text-align: center; + line-height: normal; + margin: 0; + font-size: .9em; +} + +/* MENU +----------------------------------------------------------*/ +#menu +{ + position: relative; + margin: 0; + text-align: right; +} + +#menu .t-item +{ + border-width: 0 0 0 1px; +} + +#menu .t-link +{ + padding: 5px 20px; + font-weight: bold; + text-decoration: none; + line-height: 1.8em; +} + +/* FORM LAYOUT ELEMENTS +----------------------------------------------------------*/ + +fieldset +{ + border:1px solid #ddd; + padding:0 1.4em 1.4em 1.4em; + margin:0 0 1.5em 0; +} + +legend +{ + font-size:1.2em; + font-weight: bold; +} + +textarea +{ + min-height: 75px; +} + +input[type="text"] +{ + width: 200px; + border: 1px solid #CCC; +} + +input[type="password"] +{ + width: 200px; + border: 1px solid #CCC; +} + +/* TABLE +----------------------------------------------------------*/ + +table +{ + border: solid 1px #e8eef4; + border-collapse: collapse; +} + +table td +{ + padding: 5px; + border: solid 1px #e8eef4; +} + +table th +{ + padding: 6px 5px; + text-align: left; + background-color: #e8eef4; + border: solid 1px #e8eef4; +} + +/* MISC +----------------------------------------------------------*/ +.clear +{ + clear: both; +} + +.error +{ + color:Red; +} + +div#title +{ + display:block; + text-align:left; +} + +#logindisplay +{ + font-size:1.1em; + display:block; + text-align:right; + margin:10px; + color:White; +} + +#logindisplay a:link +{ + color: white; + text-decoration: underline; +} + +#logindisplay a:visited +{ + color: white; + text-decoration: underline; +} + +#logindisplay a:hover +{ + color: white; + text-decoration: none; +} + +/* Styles for validation helpers +-----------------------------------------------------------*/ +.field-validation-error +{ + color: #ff0000; +} + +.field-validation-valid +{ + display: none; +} + +.input-validation-error +{ + border: 1px solid #ff0000; + background-color: #ffeeee; +} + +.validation-summary-errors +{ + font-weight: bold; + color: #ff0000; +} + +.validation-summary-valid +{ + display: none; +} + +/* Styles for editor and display helpers +----------------------------------------------------------*/ +.display-label, +.editor-label +{ + margin: 1em 0 0 0; +} + +.display-field, +.editor-field +{ + margin:0.5em 0 0 0; +} + +.text-box +{ + width: 30em; +} + +.text-box.multi-line +{ + height: 6.5em; +} + +.tri-state +{ + width: 6em; +} + +.map-container +{ + height: 300px; + width: 100%; +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/images/available-resource.png b/CharityPortal/CharityPortal/Content/images/available-resource.png new file mode 100644 index 0000000..42acbff Binary files /dev/null and b/CharityPortal/CharityPortal/Content/images/available-resource.png differ diff --git a/CharityPortal/CharityPortal/Content/images/project.png b/CharityPortal/CharityPortal/Content/images/project.png new file mode 100644 index 0000000..0f1f47c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/images/project.png differ diff --git a/CharityPortal/CharityPortal/Content/images/required-resource.png b/CharityPortal/CharityPortal/Content/images/required-resource.png new file mode 100644 index 0000000..6cd0c39 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/images/required-resource.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png new file mode 100644 index 0000000..5b5dab2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png new file mode 100644 index 0000000..ac8b229 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_flat_75_ffffff_40x100.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png new file mode 100644 index 0000000..ad3d634 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000..42ccba2 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_65_ffffff_1x400.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png new file mode 100644 index 0000000..5a46b47 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_dadada_1x400.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png new file mode 100644 index 0000000..86c2baa Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png new file mode 100644 index 0000000..4443fdc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png new file mode 100644 index 0000000..7c9fa6c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_222222_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000..ee039dc Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_222222_256x240.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png new file mode 100644 index 0000000..45e8928 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_2e83ff_256x240.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png new file mode 100644 index 0000000..7ec70d1 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_454545_256x240.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png new file mode 100644 index 0000000..5ba708c Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_888888_256x240.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_cd0a0a_256x240.png b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_cd0a0a_256x240.png new file mode 100644 index 0000000..7930a55 Binary files /dev/null and b/CharityPortal/CharityPortal/Content/themes/base/images/ui-icons_cd0a0a_256x240.png differ diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css new file mode 100644 index 0000000..4a67cbf --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.accordion.css @@ -0,0 +1,24 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Accordion 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Accordion#theming + */ +/* IE/Win - Fix animation bug - #4615 */ +.ui-accordion { width: 100%; } +.ui-accordion .ui-accordion-header { cursor: pointer; position: relative; margin-top: 1px; zoom: 1; } +.ui-accordion .ui-accordion-li-fix { display: inline; } +.ui-accordion .ui-accordion-header-active { border-bottom: 0 !important; } +.ui-accordion .ui-accordion-header a { display: block; font-size: 1em; padding: .5em .5em .5em .7em; } +.ui-accordion-icons .ui-accordion-header a { padding-left: 2.2em; } +.ui-accordion .ui-accordion-header .ui-icon { position: absolute; left: .5em; top: 50%; margin-top: -8px; } +.ui-accordion .ui-accordion-content { padding: 1em 2.2em; border-top: 0; margin-top: -2px; position: relative; top: 1px; margin-bottom: 2px; overflow: auto; display: none; zoom: 1; } +.ui-accordion .ui-accordion-content-active { display: block; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css new file mode 100644 index 0000000..2b2c103 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.all.css @@ -0,0 +1,16 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming + */ +@import "jquery.ui.base.css"; +@import "jquery.ui.theme.css"; diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css new file mode 100644 index 0000000..aac4e20 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.autocomplete.css @@ -0,0 +1,62 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Autocomplete 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * http://docs.jquery.com/UI/Autocomplete#theming + */ +.ui-autocomplete { position: absolute; cursor: default; } + +/* workarounds */ +* html .ui-autocomplete { width:1px; } /* without this, the menu expands to 100% in IE6 */ + +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Menu 1.8.11 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Menu#theming + */ +.ui-menu { + list-style:none; + padding: 2px; + margin: 0; + display:block; + float: left; +} +.ui-menu .ui-menu { + margin-top: -3px; +} +.ui-menu .ui-menu-item { + margin:0; + padding: 0; + zoom: 1; + float: left; + clear: left; + width: 100%; +} +.ui-menu .ui-menu-item a { + text-decoration:none; + display:block; + padding:.2em .4em; + line-height:1.5; + zoom:1; +} +.ui-menu .ui-menu-item a.ui-state-hover, +.ui-menu .ui-menu-item a.ui-state-active { + font-weight: normal; + margin: -1px; +} diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css new file mode 100644 index 0000000..f52ee39 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.base.css @@ -0,0 +1,11 @@ +@import url("jquery.ui.core.css"); +@import url("jquery.ui.resizable.css"); +@import url("jquery.ui.selectable.css"); +@import url("jquery.ui.accordion.css"); +@import url("jquery.ui.autocomplete.css"); +@import url("jquery.ui.button.css"); +@import url("jquery.ui.dialog.css"); +@import url("jquery.ui.slider.css"); +@import url("jquery.ui.tabs.css"); +@import url("jquery.ui.datepicker.css"); +@import url("jquery.ui.progressbar.css"); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css new file mode 100644 index 0000000..af6c985 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.button.css @@ -0,0 +1,43 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Button 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Button#theming + */ +.ui-button { display: inline-block; position: relative; padding: 0; margin-right: .1em; text-decoration: none !important; cursor: pointer; text-align: center; zoom: 1; overflow: visible; } /* the overflow property removes extra width in IE */ +.ui-button-icon-only { width: 2.2em; } /* to make room for the icon, a width needs to be set here */ +button.ui-button-icon-only { width: 2.4em; } /* button elements seem to need a little more width */ +.ui-button-icons-only { width: 3.4em; } +button.ui-button-icons-only { width: 3.7em; } + +/*button text element */ +.ui-button .ui-button-text { display: block; line-height: 1.4; } +.ui-button-text-only .ui-button-text { padding: .4em 1em; } +.ui-button-icon-only .ui-button-text, .ui-button-icons-only .ui-button-text { padding: .4em; text-indent: -9999999px; } +.ui-button-text-icon-primary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 1em .4em 2.1em; } +.ui-button-text-icon-secondary .ui-button-text, .ui-button-text-icons .ui-button-text { padding: .4em 2.1em .4em 1em; } +.ui-button-text-icons .ui-button-text { padding-left: 2.1em; padding-right: 2.1em; } +/* no icon support for input elements, provide padding by default */ +input.ui-button { padding: .4em 1em; } + +/*button icon element(s) */ +.ui-button-icon-only .ui-icon, .ui-button-text-icon-primary .ui-icon, .ui-button-text-icon-secondary .ui-icon, .ui-button-text-icons .ui-icon, .ui-button-icons-only .ui-icon { position: absolute; top: 50%; margin-top: -8px; } +.ui-button-icon-only .ui-icon { left: 50%; margin-left: -8px; } +.ui-button-text-icon-primary .ui-button-icon-primary, .ui-button-text-icons .ui-button-icon-primary, .ui-button-icons-only .ui-button-icon-primary { left: .5em; } +.ui-button-text-icon-secondary .ui-button-icon-secondary, .ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } +.ui-button-text-icons .ui-button-icon-secondary, .ui-button-icons-only .ui-button-icon-secondary { right: .5em; } + +/*button sets*/ +.ui-buttonset { margin-right: 7px; } +.ui-buttonset .ui-button { margin-left: 0; margin-right: -.3em; } + +/* workarounds */ +button.ui-button::-moz-focus-inner { border: 0; padding: 0; } /* reset extra padding in Firefox */ diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css new file mode 100644 index 0000000..55fb8b0 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.core.css @@ -0,0 +1,46 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming/API + */ + +/* Layout helpers +----------------------------------*/ +.ui-helper-hidden { display: none; } +.ui-helper-hidden-accessible { position: absolute !important; clip: rect(1px 1px 1px 1px); clip: rect(1px,1px,1px,1px); } +.ui-helper-reset { margin: 0; padding: 0; border: 0; outline: 0; line-height: 1.3; text-decoration: none; font-size: 100%; list-style: none; } +.ui-helper-clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; } +.ui-helper-clearfix { display: inline-block; } +/* required comment for clearfix to work in Opera \*/ +* html .ui-helper-clearfix { height:1%; } +.ui-helper-clearfix { display:block; } +/* end clearfix */ +.ui-helper-zfix { width: 100%; height: 100%; top: 0; left: 0; position: absolute; opacity: 0; filter:Alpha(Opacity=0); } + + +/* Interaction Cues +----------------------------------*/ +.ui-state-disabled { cursor: default !important; } + + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css new file mode 100644 index 0000000..7126923 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.datepicker.css @@ -0,0 +1,73 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Datepicker 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Datepicker#theming + */ +.ui-datepicker { width: 17em; padding: .2em .2em 0; display: none; } +.ui-datepicker .ui-datepicker-header { position:relative; padding:.2em 0; } +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { position:absolute; top: 2px; width: 1.8em; height: 1.8em; } +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } +.ui-datepicker .ui-datepicker-prev { left:2px; } +.ui-datepicker .ui-datepicker-next { right:2px; } +.ui-datepicker .ui-datepicker-prev-hover { left:1px; } +.ui-datepicker .ui-datepicker-next-hover { right:1px; } +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { display: block; position: absolute; left: 50%; margin-left: -8px; top: 50%; margin-top: -8px; } +.ui-datepicker .ui-datepicker-title { margin: 0 2.3em; line-height: 1.8em; text-align: center; } +.ui-datepicker .ui-datepicker-title select { font-size:1em; margin:1px 0; } +.ui-datepicker select.ui-datepicker-month-year {width: 100%;} +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%;} +.ui-datepicker table {width: 100%; font-size: .9em; border-collapse: collapse; margin:0 0 .4em; } +.ui-datepicker th { padding: .7em .3em; text-align: center; font-weight: bold; border: 0; } +.ui-datepicker td { border: 0; padding: 1px; } +.ui-datepicker td span, .ui-datepicker td a { display: block; padding: .2em; text-align: right; text-decoration: none; } +.ui-datepicker .ui-datepicker-buttonpane { background-image: none; margin: .7em 0 0 0; padding:0 .2em; border-left: 0; border-right: 0; border-bottom: 0; } +.ui-datepicker .ui-datepicker-buttonpane button { float: right; margin: .5em .2em .4em; cursor: pointer; padding: .2em .6em .3em .6em; width:auto; overflow:visible; } +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float:left; } + +/* with multiple calendars */ +.ui-datepicker.ui-datepicker-multi { width:auto; } +.ui-datepicker-multi .ui-datepicker-group { float:left; } +.ui-datepicker-multi .ui-datepicker-group table { width:95%; margin:0 auto .4em; } +.ui-datepicker-multi-2 .ui-datepicker-group { width:50%; } +.ui-datepicker-multi-3 .ui-datepicker-group { width:33.3%; } +.ui-datepicker-multi-4 .ui-datepicker-group { width:25%; } +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { border-left-width:0; } +.ui-datepicker-multi .ui-datepicker-buttonpane { clear:left; } +.ui-datepicker-row-break { clear:both; width:100%; } + +/* RTL support */ +.ui-datepicker-rtl { direction: rtl; } +.ui-datepicker-rtl .ui-datepicker-prev { right: 2px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next { left: 2px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-prev:hover { right: 1px; left: auto; } +.ui-datepicker-rtl .ui-datepicker-next:hover { left: 1px; right: auto; } +.ui-datepicker-rtl .ui-datepicker-buttonpane { clear:right; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button { float: left; } +.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current { float:right; } +.ui-datepicker-rtl .ui-datepicker-group { float:right; } +.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header { border-right-width:0; border-left-width:1px; } +.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { border-right-width:0; border-left-width:1px; } + +/* IE6 IFRAME FIX (taken from datepicker 1.5.3 */ +.ui-datepicker-cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 200px; /*must have*/ + height: 200px; /*must have*/ +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css new file mode 100644 index 0000000..311dd32 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.dialog.css @@ -0,0 +1,26 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Dialog 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Dialog#theming + */ +.ui-dialog { position: absolute; padding: .2em; width: 300px; overflow: hidden; } +.ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } +.ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } +.ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } +.ui-dialog .ui-dialog-titlebar-close:hover, .ui-dialog .ui-dialog-titlebar-close:focus { padding: 0; } +.ui-dialog .ui-dialog-content { position: relative; border: 0; padding: .5em 1em; background: none; overflow: auto; zoom: 1; } +.ui-dialog .ui-dialog-buttonpane { text-align: left; border-width: 1px 0 0 0; background-image: none; margin: .5em 0 0 0; padding: .3em 1em .5em .4em; } +.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { float: right; } +.ui-dialog .ui-dialog-buttonpane button { margin: .5em .4em .5em 0; cursor: pointer; } +.ui-dialog .ui-resizable-se { width: 14px; height: 14px; right: 3px; bottom: 3px; } +.ui-draggable .ui-dialog-titlebar { cursor: move; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css new file mode 100644 index 0000000..6e8718e --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.progressbar.css @@ -0,0 +1,16 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Progressbar 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Progressbar#theming + */ +.ui-progressbar { height:2em; text-align: left; } +.ui-progressbar .ui-progressbar-value {margin: -1px; height:100%; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css new file mode 100644 index 0000000..bf037be --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.resizable.css @@ -0,0 +1,25 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Resizable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)] + * + * http://docs.jquery.com/UI/Resizable#theming + */ +.ui-resizable { position: relative;} +.ui-resizable-handle { position: absolute;font-size: 0.1px;z-index: 99999; display: block;} +.ui-resizable-disabled .ui-resizable-handle, .ui-resizable-autohide .ui-resizable-handle { display: none; } +.ui-resizable-n { cursor: n-resize; height: 7px; width: 100%; top: -5px; left: 0; } +.ui-resizable-s { cursor: s-resize; height: 7px; width: 100%; bottom: -5px; left: 0; } +.ui-resizable-e { cursor: e-resize; width: 7px; right: -5px; top: 0; height: 100%; } +.ui-resizable-w { cursor: w-resize; width: 7px; left: -5px; top: 0; height: 100%; } +.ui-resizable-se { cursor: se-resize; width: 12px; height: 12px; right: 1px; bottom: 1px; } +.ui-resizable-sw { cursor: sw-resize; width: 9px; height: 9px; left: -5px; bottom: -5px; } +.ui-resizable-nw { cursor: nw-resize; width: 9px; height: 9px; left: -5px; top: -5px; } +.ui-resizable-ne { cursor: ne-resize; width: 9px; height: 9px; right: -5px; top: -5px;} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css new file mode 100644 index 0000000..011416b --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.selectable.css @@ -0,0 +1,15 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Selectable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Selectable#theming + */ +.ui-selectable-helper { position: absolute; z-index: 100; border:1px dotted black; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css new file mode 100644 index 0000000..3bbfb93 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.slider.css @@ -0,0 +1,29 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Slider 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Slider#theming + */ +.ui-slider { position: relative; text-align: left; } +.ui-slider .ui-slider-handle { position: absolute; z-index: 2; width: 1.2em; height: 1.2em; cursor: default; } +.ui-slider .ui-slider-range { position: absolute; z-index: 1; font-size: .7em; display: block; border: 0; background-position: 0 0; } + +.ui-slider-horizontal { height: .8em; } +.ui-slider-horizontal .ui-slider-handle { top: -.3em; margin-left: -.6em; } +.ui-slider-horizontal .ui-slider-range { top: 0; height: 100%; } +.ui-slider-horizontal .ui-slider-range-min { left: 0; } +.ui-slider-horizontal .ui-slider-range-max { right: 0; } + +.ui-slider-vertical { width: .8em; height: 100px; } +.ui-slider-vertical .ui-slider-handle { left: -.3em; margin-left: 0; margin-bottom: -.6em; } +.ui-slider-vertical .ui-slider-range { left: 0; width: 100%; } +.ui-slider-vertical .ui-slider-range-min { bottom: 0; } +.ui-slider-vertical .ui-slider-range-max { top: 0; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css new file mode 100644 index 0000000..aa5cd8a --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.tabs.css @@ -0,0 +1,23 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Tabs 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Tabs#theming + */ +.ui-tabs { position: relative; padding: .2em; zoom: 1; } /* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ +.ui-tabs .ui-tabs-nav { margin: 0; padding: .2em .2em 0; } +.ui-tabs .ui-tabs-nav li { list-style: none; float: left; position: relative; top: 1px; margin: 0 .2em 1px 0; border-bottom: 0 !important; padding: 0; white-space: nowrap; } +.ui-tabs .ui-tabs-nav li a { float: left; padding: .5em 1em; text-decoration: none; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected { margin-bottom: 0; padding-bottom: 1px; } +.ui-tabs .ui-tabs-nav li.ui-tabs-selected a, .ui-tabs .ui-tabs-nav li.ui-state-disabled a, .ui-tabs .ui-tabs-nav li.ui-state-processing a { cursor: text; } +.ui-tabs .ui-tabs-nav li a, .ui-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-selected a { cursor: pointer; } /* first selector in group seems obsolete, but required to overcome bug in Opera applying cursor: text overall if defined elsewhere... */ +.ui-tabs .ui-tabs-panel { display: block; border-width: 0; padding: 1em 1.4em; background: none; } +.ui-tabs .ui-tabs-hide { display: none !important; } diff --git a/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css new file mode 100644 index 0000000..0d5b735 --- /dev/null +++ b/CharityPortal/CharityPortal/Content/themes/base/jquery.ui.theme.css @@ -0,0 +1,257 @@ +/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI CSS Framework 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/ + */ + + +/* Component containers +----------------------------------*/ +.ui-widget { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1.1em/*{fsDefault}*/; } +.ui-widget .ui-widget { font-size: 1em; } +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { font-family: Verdana,Arial,sans-serif/*{ffDefault}*/; font-size: 1em; } +.ui-widget-content { border: 1px solid #aaaaaa/*{borderColorContent}*/; background: #ffffff/*{bgColorContent}*/ url(images/ui-bg_flat_75_ffffff_40x100.png)/*{bgImgUrlContent}*/ 50%/*{bgContentXPos}*/ 50%/*{bgContentYPos}*/ repeat-x/*{bgContentRepeat}*/; color: #222222/*{fcContent}*/; } +.ui-widget-content a { color: #222222/*{fcContent}*/; } +.ui-widget-header { border: 1px solid #aaaaaa/*{borderColorHeader}*/; background: #cccccc/*{bgColorHeader}*/ url(images/ui-bg_highlight-soft_75_cccccc_1x100.png)/*{bgImgUrlHeader}*/ 50%/*{bgHeaderXPos}*/ 50%/*{bgHeaderYPos}*/ repeat-x/*{bgHeaderRepeat}*/; color: #222222/*{fcHeader}*/; font-weight: bold; } +.ui-widget-header a { color: #222222/*{fcHeader}*/; } + +/* Interaction states +----------------------------------*/ +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { border: 1px solid #d3d3d3/*{borderColorDefault}*/; background: #e6e6e6/*{bgColorDefault}*/ url(images/ui-bg_glass_75_e6e6e6_1x400.png)/*{bgImgUrlDefault}*/ 50%/*{bgDefaultXPos}*/ 50%/*{bgDefaultYPos}*/ repeat-x/*{bgDefaultRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #555555/*{fcDefault}*/; } +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { color: #555555/*{fcDefault}*/; text-decoration: none; } +.ui-state-hover, .ui-widget-content .ui-state-hover, .ui-widget-header .ui-state-hover, .ui-state-focus, .ui-widget-content .ui-state-focus, .ui-widget-header .ui-state-focus { border: 1px solid #999999/*{borderColorHover}*/; background: #dadada/*{bgColorHover}*/ url(images/ui-bg_glass_75_dadada_1x400.png)/*{bgImgUrlHover}*/ 50%/*{bgHoverXPos}*/ 50%/*{bgHoverYPos}*/ repeat-x/*{bgHoverRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcHover}*/; } +.ui-state-hover a, .ui-state-hover a:hover { color: #212121/*{fcHover}*/; text-decoration: none; } +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { border: 1px solid #aaaaaa/*{borderColorActive}*/; background: #ffffff/*{bgColorActive}*/ url(images/ui-bg_glass_65_ffffff_1x400.png)/*{bgImgUrlActive}*/ 50%/*{bgActiveXPos}*/ 50%/*{bgActiveYPos}*/ repeat-x/*{bgActiveRepeat}*/; font-weight: normal/*{fwDefault}*/; color: #212121/*{fcActive}*/; } +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { color: #212121/*{fcActive}*/; text-decoration: none; } +.ui-widget :active { outline: none; } + +/* Interaction Cues +----------------------------------*/ +.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border: 1px solid #fcefa1/*{borderColorHighlight}*/; background: #fbf9ee/*{bgColorHighlight}*/ url(images/ui-bg_glass_55_fbf9ee_1x400.png)/*{bgImgUrlHighlight}*/ 50%/*{bgHighlightXPos}*/ 50%/*{bgHighlightYPos}*/ repeat-x/*{bgHighlightRepeat}*/; color: #363636/*{fcHighlight}*/; } +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a { color: #363636/*{fcHighlight}*/; } +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error {border: 1px solid #cd0a0a/*{borderColorError}*/; background: #fef1ec/*{bgColorError}*/ url(images/ui-bg_glass_95_fef1ec_1x400.png)/*{bgImgUrlError}*/ 50%/*{bgErrorXPos}*/ 50%/*{bgErrorYPos}*/ repeat-x/*{bgErrorRepeat}*/; color: #cd0a0a/*{fcError}*/; } +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #cd0a0a/*{fcError}*/; } +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #cd0a0a/*{fcError}*/; } +.ui-priority-primary, .ui-widget-content .ui-priority-primary, .ui-widget-header .ui-priority-primary { font-weight: bold; } +.ui-priority-secondary, .ui-widget-content .ui-priority-secondary, .ui-widget-header .ui-priority-secondary { opacity: .7; filter:Alpha(Opacity=70); font-weight: normal; } +.ui-state-disabled, .ui-widget-content .ui-state-disabled, .ui-widget-header .ui-state-disabled { opacity: .35; filter:Alpha(Opacity=35); background-image: none; } + +/* Icons +----------------------------------*/ + +/* states and images */ +.ui-icon { width: 16px; height: 16px; background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-content .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsContent}*/; } +.ui-widget-header .ui-icon {background-image: url(images/ui-icons_222222_256x240.png)/*{iconsHeader}*/; } +.ui-state-default .ui-icon { background-image: url(images/ui-icons_888888_256x240.png)/*{iconsDefault}*/; } +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsHover}*/; } +.ui-state-active .ui-icon {background-image: url(images/ui-icons_454545_256x240.png)/*{iconsActive}*/; } +.ui-state-highlight .ui-icon {background-image: url(images/ui-icons_2e83ff_256x240.png)/*{iconsHighlight}*/; } +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(images/ui-icons_cd0a0a_256x240.png)/*{iconsError}*/; } + +/* positioning */ +.ui-icon-carat-1-n { background-position: 0 0; } +.ui-icon-carat-1-ne { background-position: -16px 0; } +.ui-icon-carat-1-e { background-position: -32px 0; } +.ui-icon-carat-1-se { background-position: -48px 0; } +.ui-icon-carat-1-s { background-position: -64px 0; } +.ui-icon-carat-1-sw { background-position: -80px 0; } +.ui-icon-carat-1-w { background-position: -96px 0; } +.ui-icon-carat-1-nw { background-position: -112px 0; } +.ui-icon-carat-2-n-s { background-position: -128px 0; } +.ui-icon-carat-2-e-w { background-position: -144px 0; } +.ui-icon-triangle-1-n { background-position: 0 -16px; } +.ui-icon-triangle-1-ne { background-position: -16px -16px; } +.ui-icon-triangle-1-e { background-position: -32px -16px; } +.ui-icon-triangle-1-se { background-position: -48px -16px; } +.ui-icon-triangle-1-s { background-position: -64px -16px; } +.ui-icon-triangle-1-sw { background-position: -80px -16px; } +.ui-icon-triangle-1-w { background-position: -96px -16px; } +.ui-icon-triangle-1-nw { background-position: -112px -16px; } +.ui-icon-triangle-2-n-s { background-position: -128px -16px; } +.ui-icon-triangle-2-e-w { background-position: -144px -16px; } +.ui-icon-arrow-1-n { background-position: 0 -32px; } +.ui-icon-arrow-1-ne { background-position: -16px -32px; } +.ui-icon-arrow-1-e { background-position: -32px -32px; } +.ui-icon-arrow-1-se { background-position: -48px -32px; } +.ui-icon-arrow-1-s { background-position: -64px -32px; } +.ui-icon-arrow-1-sw { background-position: -80px -32px; } +.ui-icon-arrow-1-w { background-position: -96px -32px; } +.ui-icon-arrow-1-nw { background-position: -112px -32px; } +.ui-icon-arrow-2-n-s { background-position: -128px -32px; } +.ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } +.ui-icon-arrow-2-e-w { background-position: -160px -32px; } +.ui-icon-arrow-2-se-nw { background-position: -176px -32px; } +.ui-icon-arrowstop-1-n { background-position: -192px -32px; } +.ui-icon-arrowstop-1-e { background-position: -208px -32px; } +.ui-icon-arrowstop-1-s { background-position: -224px -32px; } +.ui-icon-arrowstop-1-w { background-position: -240px -32px; } +.ui-icon-arrowthick-1-n { background-position: 0 -48px; } +.ui-icon-arrowthick-1-ne { background-position: -16px -48px; } +.ui-icon-arrowthick-1-e { background-position: -32px -48px; } +.ui-icon-arrowthick-1-se { background-position: -48px -48px; } +.ui-icon-arrowthick-1-s { background-position: -64px -48px; } +.ui-icon-arrowthick-1-sw { background-position: -80px -48px; } +.ui-icon-arrowthick-1-w { background-position: -96px -48px; } +.ui-icon-arrowthick-1-nw { background-position: -112px -48px; } +.ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } +.ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } +.ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } +.ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } +.ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } +.ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } +.ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } +.ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } +.ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } +.ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } +.ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } +.ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } +.ui-icon-arrowreturn-1-w { background-position: -64px -64px; } +.ui-icon-arrowreturn-1-n { background-position: -80px -64px; } +.ui-icon-arrowreturn-1-e { background-position: -96px -64px; } +.ui-icon-arrowreturn-1-s { background-position: -112px -64px; } +.ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } +.ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } +.ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } +.ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } +.ui-icon-arrow-4 { background-position: 0 -80px; } +.ui-icon-arrow-4-diag { background-position: -16px -80px; } +.ui-icon-extlink { background-position: -32px -80px; } +.ui-icon-newwin { background-position: -48px -80px; } +.ui-icon-refresh { background-position: -64px -80px; } +.ui-icon-shuffle { background-position: -80px -80px; } +.ui-icon-transfer-e-w { background-position: -96px -80px; } +.ui-icon-transferthick-e-w { background-position: -112px -80px; } +.ui-icon-folder-collapsed { background-position: 0 -96px; } +.ui-icon-folder-open { background-position: -16px -96px; } +.ui-icon-document { background-position: -32px -96px; } +.ui-icon-document-b { background-position: -48px -96px; } +.ui-icon-note { background-position: -64px -96px; } +.ui-icon-mail-closed { background-position: -80px -96px; } +.ui-icon-mail-open { background-position: -96px -96px; } +.ui-icon-suitcase { background-position: -112px -96px; } +.ui-icon-comment { background-position: -128px -96px; } +.ui-icon-person { background-position: -144px -96px; } +.ui-icon-print { background-position: -160px -96px; } +.ui-icon-trash { background-position: -176px -96px; } +.ui-icon-locked { background-position: -192px -96px; } +.ui-icon-unlocked { background-position: -208px -96px; } +.ui-icon-bookmark { background-position: -224px -96px; } +.ui-icon-tag { background-position: -240px -96px; } +.ui-icon-home { background-position: 0 -112px; } +.ui-icon-flag { background-position: -16px -112px; } +.ui-icon-calendar { background-position: -32px -112px; } +.ui-icon-cart { background-position: -48px -112px; } +.ui-icon-pencil { background-position: -64px -112px; } +.ui-icon-clock { background-position: -80px -112px; } +.ui-icon-disk { background-position: -96px -112px; } +.ui-icon-calculator { background-position: -112px -112px; } +.ui-icon-zoomin { background-position: -128px -112px; } +.ui-icon-zoomout { background-position: -144px -112px; } +.ui-icon-search { background-position: -160px -112px; } +.ui-icon-wrench { background-position: -176px -112px; } +.ui-icon-gear { background-position: -192px -112px; } +.ui-icon-heart { background-position: -208px -112px; } +.ui-icon-star { background-position: -224px -112px; } +.ui-icon-link { background-position: -240px -112px; } +.ui-icon-cancel { background-position: 0 -128px; } +.ui-icon-plus { background-position: -16px -128px; } +.ui-icon-plusthick { background-position: -32px -128px; } +.ui-icon-minus { background-position: -48px -128px; } +.ui-icon-minusthick { background-position: -64px -128px; } +.ui-icon-close { background-position: -80px -128px; } +.ui-icon-closethick { background-position: -96px -128px; } +.ui-icon-key { background-position: -112px -128px; } +.ui-icon-lightbulb { background-position: -128px -128px; } +.ui-icon-scissors { background-position: -144px -128px; } +.ui-icon-clipboard { background-position: -160px -128px; } +.ui-icon-copy { background-position: -176px -128px; } +.ui-icon-contact { background-position: -192px -128px; } +.ui-icon-image { background-position: -208px -128px; } +.ui-icon-video { background-position: -224px -128px; } +.ui-icon-script { background-position: -240px -128px; } +.ui-icon-alert { background-position: 0 -144px; } +.ui-icon-info { background-position: -16px -144px; } +.ui-icon-notice { background-position: -32px -144px; } +.ui-icon-help { background-position: -48px -144px; } +.ui-icon-check { background-position: -64px -144px; } +.ui-icon-bullet { background-position: -80px -144px; } +.ui-icon-radio-off { background-position: -96px -144px; } +.ui-icon-radio-on { background-position: -112px -144px; } +.ui-icon-pin-w { background-position: -128px -144px; } +.ui-icon-pin-s { background-position: -144px -144px; } +.ui-icon-play { background-position: 0 -160px; } +.ui-icon-pause { background-position: -16px -160px; } +.ui-icon-seek-next { background-position: -32px -160px; } +.ui-icon-seek-prev { background-position: -48px -160px; } +.ui-icon-seek-end { background-position: -64px -160px; } +.ui-icon-seek-start { background-position: -80px -160px; } +/* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ +.ui-icon-seek-first { background-position: -80px -160px; } +.ui-icon-stop { background-position: -96px -160px; } +.ui-icon-eject { background-position: -112px -160px; } +.ui-icon-volume-off { background-position: -128px -160px; } +.ui-icon-volume-on { background-position: -144px -160px; } +.ui-icon-power { background-position: 0 -176px; } +.ui-icon-signal-diag { background-position: -16px -176px; } +.ui-icon-signal { background-position: -32px -176px; } +.ui-icon-battery-0 { background-position: -48px -176px; } +.ui-icon-battery-1 { background-position: -64px -176px; } +.ui-icon-battery-2 { background-position: -80px -176px; } +.ui-icon-battery-3 { background-position: -96px -176px; } +.ui-icon-circle-plus { background-position: 0 -192px; } +.ui-icon-circle-minus { background-position: -16px -192px; } +.ui-icon-circle-close { background-position: -32px -192px; } +.ui-icon-circle-triangle-e { background-position: -48px -192px; } +.ui-icon-circle-triangle-s { background-position: -64px -192px; } +.ui-icon-circle-triangle-w { background-position: -80px -192px; } +.ui-icon-circle-triangle-n { background-position: -96px -192px; } +.ui-icon-circle-arrow-e { background-position: -112px -192px; } +.ui-icon-circle-arrow-s { background-position: -128px -192px; } +.ui-icon-circle-arrow-w { background-position: -144px -192px; } +.ui-icon-circle-arrow-n { background-position: -160px -192px; } +.ui-icon-circle-zoomin { background-position: -176px -192px; } +.ui-icon-circle-zoomout { background-position: -192px -192px; } +.ui-icon-circle-check { background-position: -208px -192px; } +.ui-icon-circlesmall-plus { background-position: 0 -208px; } +.ui-icon-circlesmall-minus { background-position: -16px -208px; } +.ui-icon-circlesmall-close { background-position: -32px -208px; } +.ui-icon-squaresmall-plus { background-position: -48px -208px; } +.ui-icon-squaresmall-minus { background-position: -64px -208px; } +.ui-icon-squaresmall-close { background-position: -80px -208px; } +.ui-icon-grip-dotted-vertical { background-position: 0 -224px; } +.ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } +.ui-icon-grip-solid-vertical { background-position: -32px -224px; } +.ui-icon-grip-solid-horizontal { background-position: -48px -224px; } +.ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } +.ui-icon-grip-diagonal-se { background-position: -80px -224px; } + + +/* Misc visuals +----------------------------------*/ + +/* Corner radius */ +.ui-corner-tl { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-tr { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bl { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-br { -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-top { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-bottom { -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-right { -moz-border-radius-topright: 4px/*{cornerRadius}*/; -webkit-border-top-right-radius: 4px/*{cornerRadius}*/; border-top-right-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomright: 4px/*{cornerRadius}*/; -webkit-border-bottom-right-radius: 4px/*{cornerRadius}*/; border-bottom-right-radius: 4px/*{cornerRadius}*/; } +.ui-corner-left { -moz-border-radius-topleft: 4px/*{cornerRadius}*/; -webkit-border-top-left-radius: 4px/*{cornerRadius}*/; border-top-left-radius: 4px/*{cornerRadius}*/; -moz-border-radius-bottomleft: 4px/*{cornerRadius}*/; -webkit-border-bottom-left-radius: 4px/*{cornerRadius}*/; border-bottom-left-radius: 4px/*{cornerRadius}*/; } +.ui-corner-all { -moz-border-radius: 4px/*{cornerRadius}*/; -webkit-border-radius: 4px/*{cornerRadius}*/; border-radius: 4px/*{cornerRadius}*/; } + +/* Overlays */ +.ui-widget-overlay { background: #aaaaaa/*{bgColorOverlay}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlOverlay}*/ 50%/*{bgOverlayXPos}*/ 50%/*{bgOverlayYPos}*/ repeat-x/*{bgOverlayRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityOverlay}*/; } +.ui-widget-shadow { margin: -8px/*{offsetTopShadow}*/ 0 0 -8px/*{offsetLeftShadow}*/; padding: 8px/*{thicknessShadow}*/; background: #aaaaaa/*{bgColorShadow}*/ url(images/ui-bg_flat_0_aaaaaa_40x100.png)/*{bgImgUrlShadow}*/ 50%/*{bgShadowXPos}*/ 50%/*{bgShadowYPos}*/ repeat-x/*{bgShadowRepeat}*/; opacity: .3;filter:Alpha(Opacity=30)/*{opacityShadow}*/; -moz-border-radius: 8px/*{cornerRadiusShadow}*/; -webkit-border-radius: 8px/*{cornerRadiusShadow}*/; border-radius: 8px/*{cornerRadiusShadow}*/; } \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Controllers/AccountController.cs b/CharityPortal/CharityPortal/Controllers/AccountController.cs new file mode 100644 index 0000000..e41005c --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/AccountController.cs @@ -0,0 +1,174 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; +using System.Web.Security; +using CharityPortal.Models; + +namespace CharityPortal.Controllers +{ + public class AccountController : Controller + { + + // + // GET: /Account/LogOn + + public ActionResult LogOn() + { + return View(); + } + + // + // POST: /Account/LogOn + + [HttpPost] + public ActionResult LogOn(LogOnModel model, string returnUrl) + { + if (ModelState.IsValid) { + if (Membership.ValidateUser(model.UserName, model.Password)) { + FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); + if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") + && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { + return Redirect(returnUrl); + } else { + return RedirectToAction("Index", "Home"); + } + } else { + ModelState.AddModelError("", "The user name or password provided is incorrect."); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/LogOff + + public ActionResult LogOff() + { + FormsAuthentication.SignOut(); + + return RedirectToAction("Index", "Home"); + } + + // + // GET: /Account/Register + + public ActionResult Register() + { + return View(); + } + + // + // POST: /Account/Register + + [HttpPost] + public ActionResult Register(RegisterModel model) + { + if (ModelState.IsValid) { + // Attempt to register the user + MembershipCreateStatus createStatus; + Membership.CreateUser(model.UserName, model.Password, model.Email, null, null, true, null, out createStatus); + + if (createStatus == MembershipCreateStatus.Success) { + FormsAuthentication.SetAuthCookie(model.UserName, false /* createPersistentCookie */); + return RedirectToAction("Index", "Home"); + } else { + ModelState.AddModelError("", ErrorCodeToString(createStatus)); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ChangePassword + + [Authorize] + public ActionResult ChangePassword() + { + return View(); + } + + // + // POST: /Account/ChangePassword + + [Authorize] + [HttpPost] + public ActionResult ChangePassword(ChangePasswordModel model) + { + if (ModelState.IsValid) { + + // ChangePassword will throw an exception rather + // than return false in certain failure scenarios. + bool changePasswordSucceeded; + try { + MembershipUser currentUser = Membership.GetUser(User.Identity.Name, true /* userIsOnline */); + changePasswordSucceeded = currentUser.ChangePassword(model.OldPassword, model.NewPassword); + } catch (Exception) { + changePasswordSucceeded = false; + } + + if (changePasswordSucceeded) { + return RedirectToAction("ChangePasswordSuccess"); + } else { + ModelState.AddModelError("", "The current password is incorrect or the new password is invalid."); + } + } + + // If we got this far, something failed, redisplay form + return View(model); + } + + // + // GET: /Account/ChangePasswordSuccess + + public ActionResult ChangePasswordSuccess() + { + return View(); + } + + #region Status Codes + private static string ErrorCodeToString(MembershipCreateStatus createStatus) + { + // See http://go.microsoft.com/fwlink/?LinkID=177550 for + // a full list of status codes. + switch (createStatus) { + case MembershipCreateStatus.DuplicateUserName: + return "User name already exists. Please enter a different user name."; + + case MembershipCreateStatus.DuplicateEmail: + return "A user name for that e-mail address already exists. Please enter a different e-mail address."; + + case MembershipCreateStatus.InvalidPassword: + return "The password provided is invalid. Please enter a valid password value."; + + case MembershipCreateStatus.InvalidEmail: + return "The e-mail address provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidAnswer: + return "The password retrieval answer provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidQuestion: + return "The password retrieval question provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.InvalidUserName: + return "The user name provided is invalid. Please check the value and try again."; + + case MembershipCreateStatus.ProviderError: + return "The authentication provider returned an error. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + + case MembershipCreateStatus.UserRejected: + return "The user creation request has been canceled. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + + default: + return "An unknown error occurred. Please verify your entry and try again. If the problem persists, please contact your system administrator."; + } + } + #endregion + } +} diff --git a/CharityPortal/CharityPortal/Controllers/HomeController.cs b/CharityPortal/CharityPortal/Controllers/HomeController.cs new file mode 100644 index 0000000..59c72f8 --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/HomeController.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; + +namespace CharityPortal.Controllers +{ + public class HomeController : Controller + { + public ActionResult Index() + { + ViewBag.Message = "Welcome to ASP.NET MVC!"; + + return View(); + } + + public ActionResult About() + { + return View(); + } + } +} diff --git a/CharityPortal/CharityPortal/Controllers/OrganizationController.cs b/CharityPortal/CharityPortal/Controllers/OrganizationController.cs new file mode 100644 index 0000000..a7fff55 --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/OrganizationController.cs @@ -0,0 +1,136 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using CharityPortal.Data; +using System.Configuration; +using System.Data.Entity; + +namespace CharityPortal.Controllers +{ + public class OrganizationController : Controller + { + // + // GET: /Organisation/ + + public ActionResult Index() + { + var context = new DataContextContainer( ConfigurationManager.ConnectionStrings["DataContextContainer"].ConnectionString); + List organizations = context.Organizations.ToList(); + return View(organizations); + } + + // + // GET: /Organisation/Details/5 + + public ActionResult Details(int id) + { + var context = new DataContextContainer(); + Organization organization = context.Organizations.Where(X => X.Id == id).FirstOrDefault(); + return View(organization); + } + + // + // GET: /Organisation/Create + + public ActionResult Create() + { + return View(); + } + + // + // POST: /Organisation/Create + + [HttpPost] + public ActionResult Create(Organization model) + { + try + { + var context = new DataContextContainer(); + context.AddToOrganizations(model); + context.SaveChanges(); + return RedirectToAction("Index"); + } + catch + { + return View(); + } + } + + // + // GET: /Organisation/Edit/5 + + public ActionResult Edit(int id) + { + var context = new DataContextContainer(); + Organization organization = context.Organizations.Where(X => X.Id == id).FirstOrDefault(); + return View(organization); + } + + // + // POST: /Organisation/Edit/5 + + [HttpPost] + public ActionResult Edit(Organization model) + { + try + { + // TODO: Add update logic here + var context = new DataContextContainer(); + Organization organization = context.Organizations.Where(X => X.Id == model.Id).FirstOrDefault(); + organization.Name = model.Name; + organization.ContactEmail = model.ContactEmail; + context.SaveChanges(); + return RedirectToAction("Index"); + } + catch + { + return RedirectToAction("Index"); + } + } + + // + // GET: /Organisation/Delete/5 + + public ActionResult Delete(int id) + { + var context = new DataContextContainer(); + Organization organization = context.Organizations.Single(X => X.Id == id); + context.DeleteObject(organization); + try + { + context.SaveChanges(); + } + catch (Exception) + { + //report error + return View(); + } + return RedirectToAction("Index"); + } + + // + // POST: /Organisation/Delete/5 + + [HttpPost] + public ActionResult Delete(Organization model) + { + try + { + var context = new DataContextContainer(); + + context.DeleteObject(model); + context.SaveChanges(); + return RedirectToAction("Index"); + + } + catch + { + + } + + return RedirectToAction("Index"); + } + } +} diff --git a/CharityPortal/CharityPortal/Controllers/ProjectController.cs b/CharityPortal/CharityPortal/Controllers/ProjectController.cs new file mode 100644 index 0000000..49853dc --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/ProjectController.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.Entity; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using CharityPortal.Data; + +namespace CharityPortal.Controllers +{ + public class ProjectController : Controller + { + private DataContextContainer db = new DataContextContainer(); + + // + // GET: /Project/ + + public ViewResult Index() + { + return View(db.Projects.ToList()); + } + + // + // GET: /Project/Details/5 + + public ViewResult Details(int id) + { + Project project = db.Projects.Single(p => p.Id == id); + return View(project); + } + + // + // GET: /Project/Create + + public ActionResult Create() + { + ViewBag.Organizations = db.Organizations; + return View(); + } + + // + // POST: /Project/Create + + [HttpPost] + public ActionResult Create(Project project) + { + if (ModelState.IsValid) + { + int orgID = int.Parse(Request.Form["AdminOrg"].ToString()); + var orginization = db.Organizations.Where(X => X.Id == orgID).FirstOrDefault(); + + project.AdminOrganization = orginization; + + db.Projects.AddObject(project); + db.SaveChanges(); + return RedirectToAction("Index"); + } + + return View(project); + } + + // + // GET: /Project/Edit/5 + + public ActionResult Edit(int id) + { + Project project = db.Projects.Single(p => p.Id == id); + ViewBag.Organizations = db.Organizations; + return View(project); + } + + // + // POST: /Project/Edit/5 + + [HttpPost] + public ActionResult Edit(Project project) + { + if (ModelState.IsValid) + { + db.Projects.Attach(project); + db.ObjectStateManager.ChangeObjectState(project, EntityState.Modified); + db.SaveChanges(); + return RedirectToAction("Index"); + } + return View(project); + } + + // + // GET: /Project/Delete/5 + + public ActionResult Delete(int id) + { + Project project = db.Projects.Single(p => p.Id == id); + return View(project); + } + + // + // POST: /Project/Delete/5 + + [HttpPost, ActionName("Delete")] + public ActionResult DeleteConfirmed(int id) + { + Project project = db.Projects.Single(p => p.Id == id); + db.Projects.DeleteObject(project); + try + { + db.SaveChanges(); + } + catch (Exception) + { + //report error + return View(); + } + return RedirectToAction("Index"); + } + + protected override void Dispose(bool disposing) + { + db.Dispose(); + base.Dispose(disposing); + } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Controllers/ResourceController.cs b/CharityPortal/CharityPortal/Controllers/ResourceController.cs new file mode 100644 index 0000000..bf17297 --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/ResourceController.cs @@ -0,0 +1,162 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.Entity; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using CharityPortal.Data; + +namespace CharityPortal.Controllers +{ + public class ResourceController : Controller + { + private DataContextContainer db = new DataContextContainer(); + + // + // GET: /Resource/ + + public ViewResult Index() + { + return View(db.Resources.ToList()); + } + + + public ViewResult IndexNeeded() + { + return View("Index", db.Resources.Where(X => X.Organization == null).ToList()); + } + + public ViewResult IndexAvaliable() + { + return View("Index" ,db.Resources.Where(X=> X.Organization != null).ToList() ); + } + + + // + // GET: /Resource/Details/5 + + public ViewResult Details(long id) + { + Resource resource = db.Resources.Single(r => r.Id == id); + return View(resource); + } + + // + // GET: /Resource/Create + + public ActionResult Create() + { + ViewBag.Organizations = db.Organizations; + ViewBag.Projects = db.Projects; + return View(); + } + + // + // POST: /Resource/Create + + [HttpPost] + public ActionResult Create(Resource resource) + { + + foreach (var modelStateValue in ViewData.ModelState.Values) + { + foreach (var error in modelStateValue.Errors) + { + // Do something useful with these properties + var errorMessage = error.ErrorMessage; + var exception = error.Exception; + } + } + + + if (ModelState.IsValid) + { + int orgID = int.Parse(Request.Form["OrgCombo"].ToString()); + var orginization = db.Organizations.Where(X => X.Id == orgID).FirstOrDefault(); + + resource.Organization = orginization; + + int projectID = int.Parse(Request.Form["ProjectCombo"].ToString()); + var project = db.Projects.Where(X => X.Id == projectID).FirstOrDefault(); + + resource.Project = project; + + + db.Resources.AddObject(resource); + db.SaveChanges(); + return RedirectToAction("Index"); + } + else { + + ViewBag.Organizations = db.Organizations; + ViewBag.Projects = db.Projects; + return View(resource); + } + + + } + + // + // GET: /Resource/Edit/5 + + public ActionResult Edit(long id) + { + Resource resource = db.Resources.Single(r => r.Id == id); + ViewBag.Organizations = db.Organizations; + ViewBag.Projects = db.Projects; + return View(resource); + } + + // + // POST: /Resource/Edit/5 + + [HttpPost] + public ActionResult Edit(Resource resource) + { + if (ModelState.IsValid) + { + db.Resources.Attach(resource); + db.ObjectStateManager.ChangeObjectState(resource, EntityState.Modified); + db.SaveChanges(); + return RedirectToAction("Index"); + } + return View(resource); + } + + // + // GET: /Resource/Delete/5 + + public ActionResult Delete(long id) + { + Resource resource = db.Resources.Single(r => r.Id == id); + return View(resource); + } + + // + // POST: /Resource/Delete/5 + + [HttpPost, ActionName("Delete")] + public ActionResult DeleteConfirmed(long id) + { + Resource resource = db.Resources.Single(r => r.Id == id); + db.Resources.DeleteObject(resource); + try + { + db.SaveChanges(); + } + catch (Exception) + { + //report error + return View(); + } + return RedirectToAction("Index"); + } + + protected override void Dispose(bool disposing) + { + db.Dispose(); + base.Dispose(disposing); + } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Controllers/VisualizationController.cs b/CharityPortal/CharityPortal/Controllers/VisualizationController.cs new file mode 100644 index 0000000..8b8ba01 --- /dev/null +++ b/CharityPortal/CharityPortal/Controllers/VisualizationController.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using CharityPortal.Data; +using Newtonsoft.Json; +using CharityPortal.Models; +using CharityPortal.Utils; + +namespace CharityPortal.Controllers +{ + public class VisualizationController : Controller + { + public ActionResult OverviewMap() + { + using (DataContextContainer dataContext = new DataContextContainer()) { + IList availableResources = dataContext.Organizations.SelectMany(org => org.AvailableResources).ToList(); + IList projects = dataContext.Projects.ToList(); + IList requiredResources = projects.SelectMany(project => project.RequiredResources).ToList(); + + + + OverviewMapViewModel model = new OverviewMapViewModel(); + + foreach (Resource availableResource in availableResources) + model.Map.Markers.Add(MapUtils.CreateAvailableResourceMarker(availableResource, Url)); + + foreach (Resource requiredResource in requiredResources) + model.Map.Markers.Add(MapUtils.CreateRequiredResourceMarker(requiredResource, Url)); + + foreach (Project project in projects) + model.Map.Markers.Add(MapUtils.CreateProjectMarker(project, Url)); + + return View(model); + } + } + } +} diff --git a/CharityPortal/CharityPortal/Extensions/HtmlMapExtensions.cs b/CharityPortal/CharityPortal/Extensions/HtmlMapExtensions.cs new file mode 100644 index 0000000..0a32d01 --- /dev/null +++ b/CharityPortal/CharityPortal/Extensions/HtmlMapExtensions.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Mvc.Html; +using CharityPortal.Models; + +namespace CharityPortal.Extensions +{ + public static class HtmlMapExtensions + { + public static MvcHtmlString Map(this HtmlHelper html, Map map) + { + return html.Partial("MapControl", map); + } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Global.asax b/CharityPortal/CharityPortal/Global.asax new file mode 100644 index 0000000..459b4c6 --- /dev/null +++ b/CharityPortal/CharityPortal/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="CharityPortal.MvcApplication" Language="C#" %> diff --git a/CharityPortal/CharityPortal/Global.asax.cs b/CharityPortal/CharityPortal/Global.asax.cs new file mode 100644 index 0000000..0f753b5 --- /dev/null +++ b/CharityPortal/CharityPortal/Global.asax.cs @@ -0,0 +1,40 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; + +namespace CharityPortal +{ + // Note: For instructions on enabling IIS6 or IIS7 classic mode, + // visit http://go.microsoft.com/?LinkId=9394801 + + public class MvcApplication : System.Web.HttpApplication + { + public static void RegisterGlobalFilters(GlobalFilterCollection filters) + { + filters.Add(new HandleErrorAttribute()); + } + + public static void RegisterRoutes(RouteCollection routes) + { + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + + routes.MapRoute( + "Default", // Route name + "{controller}/{action}/{id}", // URL with parameters + new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults + ); + + } + + protected void Application_Start() + { + AreaRegistration.RegisterAllAreas(); + + RegisterGlobalFilters(GlobalFilters.Filters); + RegisterRoutes(RouteTable.Routes); + } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Models/AccountModels.cs b/CharityPortal/CharityPortal/Models/AccountModels.cs new file mode 100644 index 0000000..6251e4c --- /dev/null +++ b/CharityPortal/CharityPortal/Models/AccountModels.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel.DataAnnotations; +using System.Globalization; +using System.Web.Mvc; +using System.Web.Security; + +namespace CharityPortal.Models +{ + + public class ChangePasswordModel + { + [Required] + [DataType(DataType.Password)] + [Display(Name = "Current password")] + public string OldPassword { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "New password")] + public string NewPassword { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm new password")] + [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } + + public class LogOnModel + { + [Required] + [Display(Name = "User name")] + public string UserName { get; set; } + + [Required] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [Display(Name = "Remember me?")] + public bool RememberMe { get; set; } + } + + public class RegisterModel + { + [Required] + [Display(Name = "User name")] + public string UserName { get; set; } + + [Required] + [DataType(DataType.EmailAddress)] + [Display(Name = "Email address")] + public string Email { get; set; } + + [Required] + [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)] + [DataType(DataType.Password)] + [Display(Name = "Password")] + public string Password { get; set; } + + [DataType(DataType.Password)] + [Display(Name = "Confirm password")] + [Compare("Password", ErrorMessage = "The password and confirmation password do not match.")] + public string ConfirmPassword { get; set; } + } +} diff --git a/CharityPortal/CharityPortal/Models/Map.cs b/CharityPortal/CharityPortal/Models/Map.cs new file mode 100644 index 0000000..f47e119 --- /dev/null +++ b/CharityPortal/CharityPortal/Models/Map.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using Newtonsoft.Json; + +namespace CharityPortal.Models +{ + public class Map + { + /// + /// Initializes a new instance of the Map class. + /// + public Map() + { + ZoomLevel = 1; + Markers = new List(); + } + + public int ZoomLevel { get; set; } + public List Markers { get; set; } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Models/Marker.cs b/CharityPortal/CharityPortal/Models/Marker.cs new file mode 100644 index 0000000..b23c3e0 --- /dev/null +++ b/CharityPortal/CharityPortal/Models/Marker.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace CharityPortal.Models +{ + public class Marker + { + public string Title { get; set; } + public string IconUrl { get; set; } + + /// + /// Html or plaintext + /// + public string Content { get; set; } + + public string Address { get; set; } + public double Latitude { get; set; } + public double Longitude { get; set; } + } +} diff --git a/CharityPortal/CharityPortal/Models/OverviewMapViewModel.cs b/CharityPortal/CharityPortal/Models/OverviewMapViewModel.cs new file mode 100644 index 0000000..6741a0d --- /dev/null +++ b/CharityPortal/CharityPortal/Models/OverviewMapViewModel.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; + +namespace CharityPortal.Models +{ + public class OverviewMapViewModel + { + /// + /// Initializes a new instance of the OverviewMapViewModel class. + /// + public OverviewMapViewModel() + { + Map = new Map(); + } + + public Map Map { get; set; } + } +} diff --git a/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs b/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..02df337 --- /dev/null +++ b/CharityPortal/CharityPortal/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("CharityPortal")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("CharityPortal")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("1a30e09d-7aa7-4ba9-8f83-a07ced2311c4")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/jquery-1.5.1.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/jquery-1.5.1.min.js new file mode 100644 index 0000000..6437874 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/jquery-1.5.1.min.js @@ -0,0 +1,16 @@ +/*! + * jQuery JavaScript Library v1.5.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Wed Feb 23 13:55:29 2011 -0500 + */ +(function(a,b){function cg(a){return d.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cd(a){if(!bZ[a]){var b=d("<"+a+">").appendTo("body"),c=b.css("display");b.remove();if(c==="none"||c==="")c="block";bZ[a]=c}return bZ[a]}function cc(a,b){var c={};d.each(cb.concat.apply([],cb.slice(0,b)),function(){c[this]=a});return c}function bY(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function bX(){try{return new a.XMLHttpRequest}catch(b){}}function bW(){d(a).unload(function(){for(var a in bU)bU[a](0,1)})}function bQ(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var e=a.dataTypes,f={},g,h,i=e.length,j,k=e[0],l,m,n,o,p;for(g=1;g=0===c})}function N(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function F(a,b){return(a&&a!=="*"?a+".":"")+b.replace(r,"`").replace(s,"&")}function E(a){var b,c,e,f,g,h,i,j,k,l,m,n,o,q=[],r=[],s=d._data(this,"events");if(a.liveFired!==this&&s&&s.live&&!a.target.disabled&&(!a.button||a.type!=="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var t=s.live.slice(0);for(i=0;ic)break;a.currentTarget=f.elem,a.data=f.handleObj.data,a.handleObj=f.handleObj,o=f.handleObj.origHandler.apply(f.elem,arguments);if(o===!1||a.isPropagationStopped()){c=f.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function C(a,c,e){var f=d.extend({},e[0]);f.type=a,f.originalEvent={},f.liveFired=b,d.event.handle.call(c,f),f.isDefaultPrevented()&&e[0].preventDefault()}function w(){return!0}function v(){return!1}function g(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function f(a,c,f){if(f===b&&a.nodeType===1){f=a.getAttribute("data-"+c);if(typeof f==="string"){try{f=f==="true"?!0:f==="false"?!1:f==="null"?null:d.isNaN(f)?e.test(f)?d.parseJSON(f):f:parseFloat(f)}catch(g){}d.data(a,c,f)}else f=b}return f}var c=a.document,d=function(){function I(){if(!d.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(I,1);return}d.ready()}}var d=function(a,b){return new d.fn.init(a,b,g)},e=a.jQuery,f=a.$,g,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,i=/\S/,j=/^\s+/,k=/\s+$/,l=/\d/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=navigator.userAgent,w,x=!1,y,z="then done fail isResolved isRejected promise".split(" "),A,B=Object.prototype.toString,C=Object.prototype.hasOwnProperty,D=Array.prototype.push,E=Array.prototype.slice,F=String.prototype.trim,G=Array.prototype.indexOf,H={};d.fn=d.prototype={constructor:d,init:function(a,e,f){var g,i,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!e&&c.body){this.context=c,this[0]=c.body,this.selector="body",this.length=1;return this}if(typeof a==="string"){g=h.exec(a);if(!g||!g[1]&&e)return!e||e.jquery?(e||f).find(a):this.constructor(e).find(a);if(g[1]){e=e instanceof d?e[0]:e,k=e?e.ownerDocument||e:c,j=m.exec(a),j?d.isPlainObject(e)?(a=[c.createElement(j[1])],d.fn.attr.call(a,e,!0)):a=[k.createElement(j[1])]:(j=d.buildFragment([g[1]],[k]),a=(j.cacheable?d.clone(j.fragment):j.fragment).childNodes);return d.merge(this,a)}i=c.getElementById(g[2]);if(i&&i.parentNode){if(i.id!==g[2])return f.find(a);this.length=1,this[0]=i}this.context=c,this.selector=a;return this}if(d.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return d.makeArray(a,this)},selector:"",jquery:"1.5.1",length:0,size:function(){return this.length},toArray:function(){return E.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var e=this.constructor();d.isArray(a)?D.apply(e,a):d.merge(e,a),e.prevObject=this,e.context=this.context,b==="find"?e.selector=this.selector+(this.selector?" ":"")+c:b&&(e.selector=this.selector+"."+b+"("+c+")");return e},each:function(a,b){return d.each(this,a,b)},ready:function(a){d.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(E.apply(this,arguments),"slice",E.call(arguments).join(","))},map:function(a){return this.pushStack(d.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:D,sort:[].sort,splice:[].splice},d.fn.init.prototype=d.fn,d.extend=d.fn.extend=function(){var a,c,e,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i==="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!=="object"&&!d.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[d]),d.fn.trigger&&d(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!x){x=!0;if(c.readyState==="complete")return setTimeout(d.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",A,!1),a.addEventListener("load",d.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",A),a.attachEvent("onload",d.ready);var b=!1;try{b=a.frameElement==null}catch(e){}c.documentElement.doScroll&&b&&I()}}},isFunction:function(a){return d.type(a)==="function"},isArray:Array.isArray||function(a){return d.type(a)==="array"},isWindow:function(a){return a&&typeof a==="object"&&"setInterval"in a},isNaN:function(a){return a==null||!l.test(a)||isNaN(a)},type:function(a){return a==null?String(a):H[B.call(a)]||"object"},isPlainObject:function(a){if(!a||d.type(a)!=="object"||a.nodeType||d.isWindow(a))return!1;if(a.constructor&&!C.call(a,"constructor")&&!C.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a){}return c===b||C.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!=="string"||!b)return null;b=d.trim(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return a.JSON&&a.JSON.parse?a.JSON.parse(b):(new Function("return "+b))();d.error("Invalid JSON: "+b)},parseXML:function(b,c,e){a.DOMParser?(e=new DOMParser,c=e.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),e=c.documentElement,(!e||!e.nodeName||e.nodeName==="parsererror")&&d.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(a){if(a&&i.test(a)){var b=c.head||c.getElementsByTagName("head")[0]||c.documentElement,e=c.createElement("script");d.support.scriptEval()?e.appendChild(c.createTextNode(a)):e.text=a,b.insertBefore(e,b.firstChild),b.removeChild(e)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,e){var f,g=0,h=a.length,i=h===b||d.isFunction(a);if(e){if(i){for(f in a)if(c.apply(a[f],e)===!1)break}else for(;g1){var f=E.call(arguments,0),g=b,h=function(a){return function(b){f[a]=arguments.length>1?E.call(arguments,0):b,--g||c.resolveWith(e,f)}};while(b--)a=f[b],a&&d.isFunction(a.promise)?a.promise().then(h(b),c.reject):--g;g||c.resolveWith(e,f)}else c!==a&&c.resolve(a);return e},uaMatch:function(a){a=a.toLowerCase();var b=r.exec(a)||s.exec(a)||t.exec(a)||a.indexOf("compatible")<0&&u.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}d.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.subclass=this.subclass,a.fn.init=function b(b,c){c&&c instanceof d&&!(c instanceof a)&&(c=a(c));return d.fn.init.call(this,b,c,e)},a.fn.init.prototype=a.fn;var e=a(c);return a},browser:{}}),y=d._Deferred(),d.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){H["[object "+b+"]"]=b.toLowerCase()}),w=d.uaMatch(v),w.browser&&(d.browser[w.browser]=!0,d.browser.version=w.version),d.browser.webkit&&(d.browser.safari=!0),G&&(d.inArray=function(a,b){return G.call(b,a)}),i.test(" ")&&(j=/^[\s\xA0]+/,k=/[\s\xA0]+$/),g=d(c),c.addEventListener?A=function(){c.removeEventListener("DOMContentLoaded",A,!1),d.ready()}:c.attachEvent&&(A=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",A),d.ready())});return d}();(function(){d.support={};var b=c.createElement("div");b.style.display="none",b.innerHTML="
a";var e=b.getElementsByTagName("*"),f=b.getElementsByTagName("a")[0],g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=b.getElementsByTagName("input")[0];if(e&&e.length&&f){d.support={leadingWhitespace:b.firstChild.nodeType===3,tbody:!b.getElementsByTagName("tbody").length,htmlSerialize:!!b.getElementsByTagName("link").length,style:/red/.test(f.getAttribute("style")),hrefNormalized:f.getAttribute("href")==="/a",opacity:/^0.55$/.test(f.style.opacity),cssFloat:!!f.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,deleteExpando:!0,optDisabled:!1,checkClone:!1,noCloneEvent:!0,noCloneChecked:!0,boxModel:null,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableHiddenOffsets:!0},i.checked=!0,d.support.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,d.support.optDisabled=!h.disabled;var j=null;d.support.scriptEval=function(){if(j===null){var b=c.documentElement,e=c.createElement("script"),f="script"+d.now();try{e.appendChild(c.createTextNode("window."+f+"=1;"))}catch(g){}b.insertBefore(e,b.firstChild),a[f]?(j=!0,delete a[f]):j=!1,b.removeChild(e),b=e=f=null}return j};try{delete b.test}catch(k){d.support.deleteExpando=!1}!b.addEventListener&&b.attachEvent&&b.fireEvent&&(b.attachEvent("onclick",function l(){d.support.noCloneEvent=!1,b.detachEvent("onclick",l)}),b.cloneNode(!0).fireEvent("onclick")),b=c.createElement("div"),b.innerHTML="";var m=c.createDocumentFragment();m.appendChild(b.firstChild),d.support.checkClone=m.cloneNode(!0).cloneNode(!0).lastChild.checked,d(function(){var a=c.createElement("div"),b=c.getElementsByTagName("body")[0];if(b){a.style.width=a.style.paddingLeft="1px",b.appendChild(a),d.boxModel=d.support.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,d.support.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="
",d.support.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
t
";var e=a.getElementsByTagName("td");d.support.reliableHiddenOffsets=e[0].offsetHeight===0,e[0].style.display="",e[1].style.display="none",d.support.reliableHiddenOffsets=d.support.reliableHiddenOffsets&&e[0].offsetHeight===0,a.innerHTML="",b.removeChild(a).style.display="none",a=e=null}});var n=function(a){var b=c.createElement("div");a="on"+a;if(!b.attachEvent)return!0;var d=a in b;d||(b.setAttribute(a,"return;"),d=typeof b[a]==="function"),b=null;return d};d.support.submitBubbles=n("submit"),d.support.changeBubbles=n("change"),b=e=f=null}})();var e=/^(?:\{.*\}|\[.*\])$/;d.extend({cache:{},uuid:0,expando:"jQuery"+(d.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?d.cache[a[d.expando]]:a[d.expando];return!!a&&!g(a)},data:function(a,c,e,f){if(d.acceptData(a)){var g=d.expando,h=typeof c==="string",i,j=a.nodeType,k=j?d.cache:a,l=j?a[d.expando]:a[d.expando]&&d.expando;if((!l||f&&l&&!k[l][g])&&h&&e===b)return;l||(j?a[d.expando]=l=++d.uuid:l=d.expando),k[l]||(k[l]={},j||(k[l].toJSON=d.noop));if(typeof c==="object"||typeof c==="function")f?k[l][g]=d.extend(k[l][g],c):k[l]=d.extend(k[l],c);i=k[l],f&&(i[g]||(i[g]={}),i=i[g]),e!==b&&(i[c]=e);if(c==="events"&&!i[c])return i[g]&&i[g].events;return h?i[c]:i}},removeData:function(b,c,e){if(d.acceptData(b)){var f=d.expando,h=b.nodeType,i=h?d.cache:b,j=h?b[d.expando]:d.expando;if(!i[j])return;if(c){var k=e?i[j][f]:i[j];if(k){delete k[c];if(!g(k))return}}if(e){delete i[j][f];if(!g(i[j]))return}var l=i[j][f];d.support.deleteExpando||i!=a?delete i[j]:i[j]=null,l?(i[j]={},h||(i[j].toJSON=d.noop),i[j][f]=l):h&&(d.support.deleteExpando?delete b[d.expando]:b.removeAttribute?b.removeAttribute(d.expando):b[d.expando]=null)}},_data:function(a,b,c){return d.data(a,b,c,!0)},acceptData:function(a){if(a.nodeName){var b=d.noData[a.nodeName.toLowerCase()];if(b)return b!==!0&&a.getAttribute("classid")===b}return!0}}),d.fn.extend({data:function(a,c){var e=null;if(typeof a==="undefined"){if(this.length){e=d.data(this[0]);if(this[0].nodeType===1){var g=this[0].attributes,h;for(var i=0,j=g.length;i-1)return!0;return!1},val:function(a){if(!arguments.length){var c=this[0];if(c){if(d.nodeName(c,"option")){var e=c.attributes.value;return!e||e.specified?c.value:c.text}if(d.nodeName(c,"select")){var f=c.selectedIndex,g=[],h=c.options,i=c.type==="select-one";if(f<0)return null;for(var k=i?f:0,l=i?f+1:h.length;k=0;else if(d.nodeName(this,"select")){var f=d.makeArray(e);d("option",this).each(function(){this.selected=d.inArray(d(this).val(),f)>=0}),f.length||(this.selectedIndex=-1)}else this.value=e}})}}),d.extend({attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,e,f){if(!a||a.nodeType===3||a.nodeType===8||a.nodeType===2)return b;if(f&&c in d.attrFn)return d(a)[c](e);var g=a.nodeType!==1||!d.isXMLDoc(a),h=e!==b;c=g&&d.props[c]||c;if(a.nodeType===1){var i=k.test(c);if(c==="selected"&&!d.support.optSelected){var j=a.parentNode;j&&(j.selectedIndex,j.parentNode&&j.parentNode.selectedIndex)}if((c in a||a[c]!==b)&&g&&!i){h&&(c==="type"&&l.test(a.nodeName)&&a.parentNode&&d.error("type property can't be changed"),e===null?a.nodeType===1&&a.removeAttribute(c):a[c]=e);if(d.nodeName(a,"form")&&a.getAttributeNode(c))return a.getAttributeNode(c).nodeValue;if(c==="tabIndex"){var o=a.getAttributeNode("tabIndex");return o&&o.specified?o.value:m.test(a.nodeName)||n.test(a.nodeName)&&a.href?0:b}return a[c]}if(!d.support.style&&g&&c==="style"){h&&(a.style.cssText=""+e);return a.style.cssText}h&&a.setAttribute(c,""+e);if(!a.attributes[c]&&(a.hasAttribute&&!a.hasAttribute(c)))return b;var p=!d.support.hrefNormalized&&g&&i?a.getAttribute(c,2):a.getAttribute(c);return p===null?b:p}h&&(a[c]=e);return a[c]}});var p=/\.(.*)$/,q=/^(?:textarea|input|select)$/i,r=/\./g,s=/ /g,t=/[^\w\s.|`]/g,u=function(a){return a.replace(t,"\\$&")};d.event={add:function(c,e,f,g){if(c.nodeType!==3&&c.nodeType!==8){try{d.isWindow(c)&&(c!==a&&!c.frameElement)&&(c=a)}catch(h){}if(f===!1)f=v;else if(!f)return;var i,j;f.handler&&(i=f,f=i.handler),f.guid||(f.guid=d.guid++);var k=d._data(c);if(!k)return;var l=k.events,m=k.handle;l||(k.events=l={}),m||(k.handle=m=function(){return typeof d!=="undefined"&&!d.event.triggered?d.event.handle.apply(m.elem,arguments):b}),m.elem=c,e=e.split(" ");var n,o=0,p;while(n=e[o++]){j=i?d.extend({},i):{handler:f,data:g},n.indexOf(".")>-1?(p=n.split("."),n=p.shift(),j.namespace=p.slice(0).sort().join(".")):(p=[],j.namespace=""),j.type=n,j.guid||(j.guid=f.guid);var q=l[n],r=d.event.special[n]||{};if(!q){q=l[n]=[];if(!r.setup||r.setup.call(c,g,p,m)===!1)c.addEventListener?c.addEventListener(n,m,!1):c.attachEvent&&c.attachEvent("on"+n,m)}r.add&&(r.add.call(c,j),j.handler.guid||(j.handler.guid=f.guid)),q.push(j),d.event.global[n]=!0}c=null}},global:{},remove:function(a,c,e,f){if(a.nodeType!==3&&a.nodeType!==8){e===!1&&(e=v);var g,h,i,j,k=0,l,m,n,o,p,q,r,s=d.hasData(a)&&d._data(a),t=s&&s.events;if(!s||!t)return;c&&c.type&&(e=c.handler,c=c.type);if(!c||typeof c==="string"&&c.charAt(0)==="."){c=c||"";for(h in t)d.event.remove(a,h+c);return}c=c.split(" ");while(h=c[k++]){r=h,q=null,l=h.indexOf(".")<0,m=[],l||(m=h.split("."),h=m.shift(),n=new RegExp("(^|\\.)"+d.map(m.slice(0).sort(),u).join("\\.(?:.*\\.)?")+"(\\.|$)")),p=t[h];if(!p)continue;if(!e){for(j=0;j=0&&(a.type=f=f.slice(0,-1),a.exclusive=!0),e||(a.stopPropagation(),d.event.global[f]&&d.each(d.cache,function(){var b=d.expando,e=this[b];e&&e.events&&e.events[f]&&d.event.trigger(a,c,e.handle.elem)}));if(!e||e.nodeType===3||e.nodeType===8)return b;a.result=b,a.target=e,c=d.makeArray(c),c.unshift(a)}a.currentTarget=e;var h=d._data(e,"handle");h&&h.apply(e,c);var i=e.parentNode||e.ownerDocument;try{e&&e.nodeName&&d.noData[e.nodeName.toLowerCase()]||e["on"+f]&&e["on"+f].apply(e,c)===!1&&(a.result=!1,a.preventDefault())}catch(j){}if(!a.isPropagationStopped()&&i)d.event.trigger(a,c,i,!0);else if(!a.isDefaultPrevented()){var k,l=a.target,m=f.replace(p,""),n=d.nodeName(l,"a")&&m==="click",o=d.event.special[m]||{};if((!o._default||o._default.call(e,a)===!1)&&!n&&!(l&&l.nodeName&&d.noData[l.nodeName.toLowerCase()])){try{l[m]&&(k=l["on"+m],k&&(l["on"+m]=null),d.event.triggered=!0,l[m]())}catch(q){}k&&(l["on"+m]=k),d.event.triggered=!1}}},handle:function(c){var e,f,g,h,i,j=[],k=d.makeArray(arguments);c=k[0]=d.event.fix(c||a.event),c.currentTarget=this,e=c.type.indexOf(".")<0&&!c.exclusive,e||(g=c.type.split("."),c.type=g.shift(),j=g.slice(0).sort(),h=new RegExp("(^|\\.)"+j.join("\\.(?:.*\\.)?")+"(\\.|$)")),c.namespace=c.namespace||j.join("."),i=d._data(this,"events"),f=(i||{})[c.type];if(i&&f){f=f.slice(0);for(var l=0,m=f.length;l-1?d.map(a.options,function(a){return a.selected}).join("-"):"":a.nodeName.toLowerCase()==="select"&&(c=a.selectedIndex);return c},B=function B(a){var c=a.target,e,f;if(q.test(c.nodeName)&&!c.readOnly){e=d._data(c,"_change_data"),f=A(c),(a.type!=="focusout"||c.type!=="radio")&&d._data(c,"_change_data",f);if(e===b||f===e)return;if(e!=null||f)a.type="change",a.liveFired=b,d.event.trigger(a,arguments[1],c)}};d.event.special.change={filters:{focusout:B,beforedeactivate:B,click:function(a){var b=a.target,c=b.type;(c==="radio"||c==="checkbox"||b.nodeName.toLowerCase()==="select")&&B.call(this,a)},keydown:function(a){var b=a.target,c=b.type;(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(c==="checkbox"||c==="radio")||c==="select-multiple")&&B.call(this,a)},beforeactivate:function(a){var b=a.target;d._data(b,"_change_data",A(b))}},setup:function(a,b){if(this.type==="file")return!1;for(var c in z)d.event.add(this,c+".specialChange",z[c]);return q.test(this.nodeName)},teardown:function(a){d.event.remove(this,".specialChange");return q.test(this.nodeName)}},z=d.event.special.change.filters,z.focus=z.beforeactivate}c.addEventListener&&d.each({focus:"focusin",blur:"focusout"},function(a,b){function c(a){a=d.event.fix(a),a.type=b;return d.event.handle.call(this,a)}d.event.special[b]={setup:function(){this.addEventListener(a,c,!0)},teardown:function(){this.removeEventListener(a,c,!0)}}}),d.each(["bind","one"],function(a,c){d.fn[c]=function(a,e,f){if(typeof a==="object"){for(var g in a)this[c](g,e,a[g],f);return this}if(d.isFunction(e)||e===!1)f=e,e=b;var h=c==="one"?d.proxy(f,function(a){d(this).unbind(a,h);return f.apply(this,arguments)}):f;if(a==="unload"&&c!=="one")this.one(a,e,f);else for(var i=0,j=this.length;i0?this.bind(b,a,c):this.trigger(b)},d.attrFn&&(d.attrFn[b]=!0)}),function(){function u(a,b,c,d,e,f){for(var g=0,h=d.length;g0){j=i;break}}i=i[a]}d[g]=j}}}function t(a,b,c,d,e,f){for(var g=0,h=d.length;g+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,g=!1,h=!0,i=/\\/g,j=/\W/;[0,0].sort(function(){h=!1;return 0});var k=function(b,d,e,g){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!=="string")return e;var i,j,n,o,q,r,s,t,u=!0,w=k.isXML(d),x=[],y=b;do{a.exec(""),i=a.exec(y);if(i){y=i[3],x.push(i[1]);if(i[2]){o=i[3];break}}}while(i);if(x.length>1&&m.exec(b))if(x.length===2&&l.relative[x[0]])j=v(x[0]+x[1],d);else{j=l.relative[x[0]]?[d]:k(x.shift(),d);while(x.length)b=x.shift(),l.relative[b]&&(b+=x.shift()),j=v(b,j)}else{!g&&x.length>1&&d.nodeType===9&&!w&&l.match.ID.test(x[0])&&!l.match.ID.test(x[x.length-1])&&(q=k.find(x.shift(),d,w),d=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]);if(d){q=g?{expr:x.pop(),set:p(g)}:k.find(x.pop(),x.length===1&&(x[0]==="~"||x[0]==="+")&&d.parentNode?d.parentNode:d,w),j=q.expr?k.filter(q.expr,q.set):q.set,x.length>0?n=p(j):u=!1;while(x.length)r=x.pop(),s=r,l.relative[r]?s=x.pop():r="",s==null&&(s=d),l.relative[r](n,s,w)}else n=x=[]}n||(n=j),n||k.error(r||b);if(f.call(n)==="[object Array]")if(u)if(d&&d.nodeType===1)for(t=0;n[t]!=null;t++)n[t]&&(n[t]===!0||n[t].nodeType===1&&k.contains(d,n[t]))&&e.push(j[t]);else for(t=0;n[t]!=null;t++)n[t]&&n[t].nodeType===1&&e.push(j[t]);else e.push.apply(e,n);else p(n,e);o&&(k(o,h,e,g),k.uniqueSort(e));return e};k.uniqueSort=function(a){if(r){g=h,a.sort(r);if(g)for(var b=1;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b==="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(i,"")},TAG:function(a,b){return a[1].replace(i,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||k.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&k.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(i,"");!f&&l.attrMap[g]&&(a[1]=l.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(i,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=k(b[3],null,null,c);else{var g=k.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(l.match.POS.test(b[0])||l.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!k(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){return"text"===a.getAttribute("type")},radio:function(a){return"radio"===a.type},checkbox:function(a){return"checkbox"===a.type},file:function(a){return"file"===a.type},password:function(a){return"password"===a.type},submit:function(a){return"submit"===a.type},image:function(a){return"image"===a.type},reset:function(a){return"reset"===a.type},button:function(a){return"button"===a.type||a.nodeName.toLowerCase()==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=l.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||k.getText([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=l.attrHandle[c]?l.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=l.setFilters[e];if(f)return f(a,c,b,d)}}},m=l.match.POS,n=function(a,b){return"\\"+(b-0+1)};for(var o in l.match)l.match[o]=new RegExp(l.match[o].source+/(?![^\[]*\])(?![^\(]*\))/.source),l.leftMatch[o]=new RegExp(/(^(?:.|\r|\n)*?)/.source+l.match[o].source.replace(/\\(\d+)/g,n));var p=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(q){p=function(a,b){var c=0,d=b||[];if(f.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length==="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(l.find.ID=function(a,c,d){if(typeof c.getElementById!=="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!=="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},l.filter.ID=function(a,b){var c=typeof a.getAttributeNode!=="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(l.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!=="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(l.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=k,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){k=function(b,e,f,g){e=e||c;if(!g&&!k.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return p(e.getElementsByTagName(b),f);if(h[2]&&l.find.CLASS&&e.getElementsByClassName)return p(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return p([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return p([],f);if(i.id===h[3])return p([i],f)}try{return p(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var m=e,n=e.getAttribute("id"),o=n||d,q=e.parentNode,r=/^\s*[+~]/.test(b);n?o=o.replace(/'/g,"\\$&"):e.setAttribute("id",o),r&&q&&(e=e.parentNode);try{if(!r||q)return p(e.querySelectorAll("[id='"+o+"'] "+b),f)}catch(s){}finally{n||m.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)k[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector,d=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(e){d=!0}b&&(k.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(a))try{if(d||!l.match.PSEUDO.test(c)&&!/!=/.test(c))return b.call(a,c)}catch(e){}return k(c,null,null,[a]).length>0})}(),function(){var a=c.createElement("div");a.innerHTML="
";if(a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;l.order.splice(1,0,"CLASS"),l.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!=="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?k.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?k.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:k.contains=function(){return!1},k.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var v=function(a,b){var c,d=[],e="",f=b.nodeType?[b]:b;while(c=l.match.PSEUDO.exec(a))e+=c[0],a=a.replace(l.match.PSEUDO,"");a=l.relative[a]?a+"*":a;for(var g=0,h=f.length;g0)for(var g=c;g0},closest:function(a,b){var c=[],e,f,g=this[0];if(d.isArray(a)){var h,i,j={},k=1;if(g&&a.length){for(e=0,f=a.length;e-1:d(g).is(h))&&c.push({selector:i,elem:g,level:k});g=g.parentNode,k++}}return c}var l=L.test(a)?d(a,b||this.context):null;for(e=0,f=this.length;e-1:d.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b)break}}c=c.length>1?d.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a||typeof a==="string")return d.inArray(this[0],a?d(a):this.parent().children());return d.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a==="string"?d(a,b):d.makeArray(a),e=d.merge(this.get(),c);return this.pushStack(N(c[0])||N(e[0])?e:d.unique(e))},andSelf:function(){return this.add(this.prevObject)}}),d.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return d.dir(a,"parentNode")},parentsUntil:function(a,b,c){return d.dir(a,"parentNode",c)},next:function(a){return d.nth(a,2,"nextSibling")},prev:function(a){return d.nth(a,2,"previousSibling")},nextAll:function(a){return d.dir(a,"nextSibling")},prevAll:function(a){return d.dir(a,"previousSibling")},nextUntil:function(a,b,c){return d.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return d.dir(a,"previousSibling",c)},siblings:function(a){return d.sibling(a.parentNode.firstChild,a)},children:function(a){return d.sibling(a.firstChild)},contents:function(a){return d.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:d.makeArray(a.childNodes)}},function(a,b){d.fn[a]=function(c,e){var f=d.map(this,b,c),g=K.call(arguments);G.test(a)||(e=c),e&&typeof e==="string"&&(f=d.filter(e,f)),f=this.length>1&&!M[a]?d.unique(f):f,(this.length>1||I.test(e))&&H.test(a)&&(f=f.reverse());return this.pushStack(f,a,g.join(","))}}),d.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?d.find.matchesSelector(b[0],a)?[b[0]]:[]:d.find.matches(a,b)},dir:function(a,c,e){var f=[],g=a[c];while(g&&g.nodeType!==9&&(e===b||g.nodeType!==1||!d(g).is(e)))g.nodeType===1&&f.push(g),g=g[c];return f},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var P=/ jQuery\d+="(?:\d+|null)"/g,Q=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,S=/<([\w:]+)/,T=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]};X.optgroup=X.option,X.tbody=X.tfoot=X.colgroup=X.caption=X.thead,X.th=X.td,d.support.htmlSerialize||(X._default=[1,"div
","
"]),d.fn.extend({text:function(a){if(d.isFunction(a))return this.each(function(b){var c=d(this);c.text(a.call(this,b,c.text()))});if(typeof a!=="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return d.text(this)},wrapAll:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapAll(a.call(this,b))});if(this[0]){var b=d(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(d.isFunction(a))return this.each(function(b){d(this).wrapInner(a.call(this,b))});return this.each(function(){var b=d(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){d(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){d.nodeName(this,"body")||d(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=d(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,d(arguments[0]).toArray());return a}},remove:function(a,b){for(var c=0,e;(e=this[c])!=null;c++)if(!a||d.filter(a,[e]).length)!b&&e.nodeType===1&&(d.cleanData(e.getElementsByTagName("*")),d.cleanData([e])),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&d.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return d.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(P,""):null;if(typeof a!=="string"||V.test(a)||!d.support.leadingWhitespace&&Q.test(a)||X[(S.exec(a)||["",""])[1].toLowerCase()])d.isFunction(a)?this.each(function(b){var c=d(this);c.html(a.call(this,b,c.html()))}):this.empty().append(a);else{a=a.replace(R,"<$1>");try{for(var c=0,e=this.length;c1&&l0?this.clone(!0):this).get();d(f[h])[b](j),e=e.concat(j)}return this.pushStack(e,a,f.selector)}}),d.extend({clone:function(a,b,c){var e=a.cloneNode(!0),f,g,h;if((!d.support.noCloneEvent||!d.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!d.isXMLDoc(a)){$(a,e),f=_(a),g=_(e);for(h=0;f[h];++h)$(f[h],g[h])}if(b){Z(a,e);if(c){f=_(a),g=_(e);for(h=0;f[h];++h)Z(f[h],g[h])}}return e},clean:function(a,b,e,f){b=b||c,typeof b.createElement==="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var g=[];for(var h=0,i;(i=a[h])!=null;h++){typeof i==="number"&&(i+="");if(!i)continue;if(typeof i!=="string"||U.test(i)){if(typeof i==="string"){i=i.replace(R,"<$1>");var j=(S.exec(i)||["",""])[1].toLowerCase(),k=X[j]||X._default,l=k[0],m=b.createElement("div");m.innerHTML=k[1]+i+k[2];while(l--)m=m.lastChild;if(!d.support.tbody){var n=T.test(i),o=j==="table"&&!n?m.firstChild&&m.firstChild.childNodes:k[1]===""&&!n?m.childNodes:[];for(var p=o.length-1;p>=0;--p)d.nodeName(o[p],"tbody")&&!o[p].childNodes.length&&o[p].parentNode.removeChild(o[p])}!d.support.leadingWhitespace&&Q.test(i)&&m.insertBefore(b.createTextNode(Q.exec(i)[0]),m.firstChild),i=m.childNodes}}else i=b.createTextNode(i);i.nodeType?g.push(i):g=d.merge(g,i)}if(e)for(h=0;g[h];h++)!f||!d.nodeName(g[h],"script")||g[h].type&&g[h].type.toLowerCase()!=="text/javascript"?(g[h].nodeType===1&&g.splice.apply(g,[h+1,0].concat(d.makeArray(g[h].getElementsByTagName("script")))),e.appendChild(g[h])):f.push(g[h].parentNode?g[h].parentNode.removeChild(g[h]):g[h]);return g},cleanData:function(a){var b,c,e=d.cache,f=d.expando,g=d.event.special,h=d.support.deleteExpando;for(var i=0,j;(j=a[i])!=null;i++){if(j.nodeName&&d.noData[j.nodeName.toLowerCase()])continue;c=j[d.expando];if(c){b=e[c]&&e[c][f];if(b&&b.events){for(var k in b.events)g[k]?d.event.remove(j,k):d.removeEvent(j,k,b.handle);b.handle&&(b.handle.elem=null)}h?delete j[d.expando]:j.removeAttribute&&j.removeAttribute(d.expando),delete e[c]}}}});var bb=/alpha\([^)]*\)/i,bc=/opacity=([^)]*)/,bd=/-([a-z])/ig,be=/([A-Z])/g,bf=/^-?\d+(?:px)?$/i,bg=/^-?\d/,bh={position:"absolute",visibility:"hidden",display:"block"},bi=["Left","Right"],bj=["Top","Bottom"],bk,bl,bm,bn=function(a,b){return b.toUpperCase()};d.fn.css=function(a,c){if(arguments.length===2&&c===b)return this;return d.access(this,a,c,!0,function(a,c,e){return e!==b?d.style(a,c,e):d.css(a,c)})},d.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bk(a,"opacity","opacity");return c===""?"1":c}return a.style.opacity}}},cssNumber:{zIndex:!0,fontWeight:!0,opacity:!0,zoom:!0,lineHeight:!0},cssProps:{"float":d.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,e,f){if(a&&a.nodeType!==3&&a.nodeType!==8&&a.style){var g,h=d.camelCase(c),i=a.style,j=d.cssHooks[h];c=d.cssProps[h]||h;if(e===b){if(j&&"get"in j&&(g=j.get(a,!1,f))!==b)return g;return i[c]}if(typeof e==="number"&&isNaN(e)||e==null)return;typeof e==="number"&&!d.cssNumber[h]&&(e+="px");if(!j||!("set"in j)||(e=j.set(a,e))!==b)try{i[c]=e}catch(k){}}},css:function(a,c,e){var f,g=d.camelCase(c),h=d.cssHooks[g];c=d.cssProps[g]||g;if(h&&"get"in h&&(f=h.get(a,!0,e))!==b)return f;if(bk)return bk(a,c,g)},swap:function(a,b,c){var d={};for(var e in b)d[e]=a.style[e],a.style[e]=b[e];c.call(a);for(e in b)a.style[e]=d[e]},camelCase:function(a){return a.replace(bd,bn)}}),d.curCSS=d.css,d.each(["height","width"],function(a,b){d.cssHooks[b]={get:function(a,c,e){var f;if(c){a.offsetWidth!==0?f=bo(a,b,e):d.swap(a,bh,function(){f=bo(a,b,e)});if(f<=0){f=bk(a,b,b),f==="0px"&&bm&&(f=bm(a,b,b));if(f!=null)return f===""||f==="auto"?"0px":f}if(f<0||f==null){f=a.style[b];return f===""||f==="auto"?"0px":f}return typeof f==="string"?f:f+"px"}},set:function(a,b){if(!bf.test(b))return b;b=parseFloat(b);if(b>=0)return b+"px"}}}),d.support.opacity||(d.cssHooks.opacity={get:function(a,b){return bc.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style;c.zoom=1;var e=d.isNaN(b)?"":"alpha(opacity="+b*100+")",f=c.filter||"";c.filter=bb.test(f)?f.replace(bb,e):c.filter+" "+e}}),c.defaultView&&c.defaultView.getComputedStyle&&(bl=function(a,c,e){var f,g,h;e=e.replace(be,"-$1").toLowerCase();if(!(g=a.ownerDocument.defaultView))return b;if(h=g.getComputedStyle(a,null))f=h.getPropertyValue(e),f===""&&!d.contains(a.ownerDocument.documentElement,a)&&(f=d.style(a,e));return f}),c.documentElement.currentStyle&&(bm=function(a,b){var c,d=a.currentStyle&&a.currentStyle[b],e=a.runtimeStyle&&a.runtimeStyle[b],f=a.style;!bf.test(d)&&bg.test(d)&&(c=f.left,e&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":d||0,d=f.pixelLeft+"px",f.left=c,e&&(a.runtimeStyle.left=e));return d===""?"auto":d}),bk=bl||bm,d.expr&&d.expr.filters&&(d.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!d.support.reliableHiddenOffsets&&(a.style.display||d.css(a,"display"))==="none"},d.expr.filters.visible=function(a){return!d.expr.filters.hidden(a)});var bp=/%20/g,bq=/\[\]$/,br=/\r?\n/g,bs=/#.*$/,bt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bu=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bv=/(?:^file|^widget|\-extension):$/,bw=/^(?:GET|HEAD)$/,bx=/^\/\//,by=/\?/,bz=/)<[^<]*)*<\/script>/gi,bA=/^(?:select|textarea)/i,bB=/\s+/,bC=/([?&])_=[^&]*/,bD=/(^|\-)([a-z])/g,bE=function(a,b,c){return b+c.toUpperCase()},bF=/^([\w\+\.\-]+:)\/\/([^\/?#:]*)(?::(\d+))?/,bG=d.fn.load,bH={},bI={},bJ,bK;try{bJ=c.location.href}catch(bL){bJ=c.createElement("a"),bJ.href="",bJ=bJ.href}bK=bF.exec(bJ.toLowerCase()),d.fn.extend({load:function(a,c,e){if(typeof a!=="string"&&bG)return bG.apply(this,arguments);if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var g=a.slice(f,a.length);a=a.slice(0,f)}var h="GET";c&&(d.isFunction(c)?(e=c,c=b):typeof c==="object"&&(c=d.param(c,d.ajaxSettings.traditional),h="POST"));var i=this;d.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?d("
").append(c.replace(bz,"")).find(g):c)),e&&i.each(e,[c,b,a])}});return this},serialize:function(){return d.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?d.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bA.test(this.nodeName)||bu.test(this.type))}).map(function(a,b){var c=d(this).val();return c==null?null:d.isArray(c)?d.map(c,function(a,c){return{name:b.name,value:a.replace(br,"\r\n")}}):{name:b.name,value:c.replace(br,"\r\n")}}).get()}}),d.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){d.fn[b]=function(a){return this.bind(b,a)}}),d.each(["get","post"],function(a,c){d[c]=function(a,e,f,g){d.isFunction(e)&&(g=g||f,f=e,e=b);return d.ajax({type:c,url:a,data:e,success:f,dataType:g})}}),d.extend({getScript:function(a,c){return d.get(a,b,c,"script")},getJSON:function(a,b,c){return d.get(a,b,c,"json")},ajaxSetup:function(a,b){b?d.extend(!0,a,d.ajaxSettings,b):(b=a,a=d.extend(!0,d.ajaxSettings,b));for(var c in {context:1,url:1})c in b?a[c]=b[c]:c in d.ajaxSettings&&(a[c]=d.ajaxSettings[c]);return a},ajaxSettings:{url:bJ,isLocal:bv.test(bK[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":"*/*"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":d.parseJSON,"text xml":d.parseXML}},ajaxPrefilter:bM(bH),ajaxTransport:bM(bI),ajax:function(a,c){function v(a,c,l,n){if(r!==2){r=2,p&&clearTimeout(p),o=b,m=n||"",u.readyState=a?4:0;var q,t,v,w=l?bP(e,u,l):b,x,y;if(a>=200&&a<300||a===304){if(e.ifModified){if(x=u.getResponseHeader("Last-Modified"))d.lastModified[k]=x;if(y=u.getResponseHeader("Etag"))d.etag[k]=y}if(a===304)c="notmodified",q=!0;else try{t=bQ(e,w),c="success",q=!0}catch(z){c="parsererror",v=z}}else{v=c;if(!c||a)c="error",a<0&&(a=0)}u.status=a,u.statusText=c,q?h.resolveWith(f,[t,c,u]):h.rejectWith(f,[u,c,v]),u.statusCode(j),j=b,s&&g.trigger("ajax"+(q?"Success":"Error"),[u,e,q?t:v]),i.resolveWith(f,[u,c]),s&&(g.trigger("ajaxComplete",[u,e]),--d.active||d.event.trigger("ajaxStop"))}}typeof a==="object"&&(c=a,a=b),c=c||{};var e=d.ajaxSetup({},c),f=e.context||e,g=f!==e&&(f.nodeType||f instanceof d)?d(f):d.event,h=d.Deferred(),i=d._Deferred(),j=e.statusCode||{},k,l={},m,n,o,p,q,r=0,s,t,u={readyState:0,setRequestHeader:function(a,b){r||(l[a.toLowerCase().replace(bD,bE)]=b);return this},getAllResponseHeaders:function(){return r===2?m:null},getResponseHeader:function(a){var c;if(r===2){if(!n){n={};while(c=bt.exec(m))n[c[1].toLowerCase()]=c[2]}c=n[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){r||(e.mimeType=a);return this},abort:function(a){a=a||"abort",o&&o.abort(a),v(0,a);return this}};h.promise(u),u.success=u.done,u.error=u.fail,u.complete=i.done,u.statusCode=function(a){if(a){var b;if(r<2)for(b in a)j[b]=[j[b],a[b]];else b=a[u.status],u.then(b,b)}return this},e.url=((a||e.url)+"").replace(bs,"").replace(bx,bK[1]+"//"),e.dataTypes=d.trim(e.dataType||"*").toLowerCase().split(bB),e.crossDomain||(q=bF.exec(e.url.toLowerCase()),e.crossDomain=q&&(q[1]!=bK[1]||q[2]!=bK[2]||(q[3]||(q[1]==="http:"?80:443))!=(bK[3]||(bK[1]==="http:"?80:443)))),e.data&&e.processData&&typeof e.data!=="string"&&(e.data=d.param(e.data,e.traditional)),bN(bH,e,c,u);if(r===2)return!1;s=e.global,e.type=e.type.toUpperCase(),e.hasContent=!bw.test(e.type),s&&d.active++===0&&d.event.trigger("ajaxStart");if(!e.hasContent){e.data&&(e.url+=(by.test(e.url)?"&":"?")+e.data),k=e.url;if(e.cache===!1){var w=d.now(),x=e.url.replace(bC,"$1_="+w);e.url=x+(x===e.url?(by.test(e.url)?"&":"?")+"_="+w:"")}}if(e.data&&e.hasContent&&e.contentType!==!1||c.contentType)l["Content-Type"]=e.contentType;e.ifModified&&(k=k||e.url,d.lastModified[k]&&(l["If-Modified-Since"]=d.lastModified[k]),d.etag[k]&&(l["If-None-Match"]=d.etag[k])),l.Accept=e.dataTypes[0]&&e.accepts[e.dataTypes[0]]?e.accepts[e.dataTypes[0]]+(e.dataTypes[0]!=="*"?", */*; q=0.01":""):e.accepts["*"];for(t in e.headers)u.setRequestHeader(t,e.headers[t]);if(e.beforeSend&&(e.beforeSend.call(f,u,e)===!1||r===2)){u.abort();return!1}for(t in {success:1,error:1,complete:1})u[t](e[t]);o=bN(bI,e,c,u);if(o){u.readyState=1,s&&g.trigger("ajaxSend",[u,e]),e.async&&e.timeout>0&&(p=setTimeout(function(){u.abort("timeout")},e.timeout));try{r=1,o.send(l,v)}catch(y){status<2?v(-1,y):d.error(y)}}else v(-1,"No Transport");return u},param:function(a,c){var e=[],f=function(a,b){b=d.isFunction(b)?b():b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=d.ajaxSettings.traditional);if(d.isArray(a)||a.jquery&&!d.isPlainObject(a))d.each(a,function(){f(this.name,this.value)});else for(var g in a)bO(g,a[g],c,f);return e.join("&").replace(bp,"+")}}),d.extend({active:0,lastModified:{},etag:{}});var bR=d.now(),bS=/(\=)\?(&|$)|()\?\?()/i;d.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return d.expando+"_"+bR++}}),d.ajaxPrefilter("json jsonp",function(b,c,e){var f=typeof b.data==="string";if(b.dataTypes[0]==="jsonp"||c.jsonpCallback||c.jsonp!=null||b.jsonp!==!1&&(bS.test(b.url)||f&&bS.test(b.data))){var g,h=b.jsonpCallback=d.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2",m=function(){a[h]=i,g&&d.isFunction(i)&&a[h](g[0])};b.jsonp!==!1&&(j=j.replace(bS,l),b.url===j&&(f&&(k=k.replace(bS,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},e.then(m,m),b.converters["script json"]=function(){g||d.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),d.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){d.globalEval(a);return a}}}),d.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),d.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var bT=d.now(),bU,bV;d.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&bX()||bY()}:bX,bV=d.ajaxSettings.xhr(),d.support.ajax=!!bV,d.support.cors=bV&&"withCredentials"in bV,bV=b,d.support.ajax&&d.ajaxTransport(function(a){if(!a.crossDomain||d.support.cors){var c;return{send:function(e,f){var g=a.xhr(),h,i;a.username?g.open(a.type,a.url,a.async,a.username,a.password):g.open(a.type,a.url,a.async);if(a.xhrFields)for(i in a.xhrFields)g[i]=a.xhrFields[i];a.mimeType&&g.overrideMimeType&&g.overrideMimeType(a.mimeType),(!a.crossDomain||a.hasContent)&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(i in e)g.setRequestHeader(i,e[i])}catch(j){}g.send(a.hasContent&&a.data||null),c=function(e,i){var j,k,l,m,n;try{if(c&&(i||g.readyState===4)){c=b,h&&(g.onreadystatechange=d.noop,delete bU[h]);if(i)g.readyState!==4&&g.abort();else{j=g.status,l=g.getAllResponseHeaders(),m={},n=g.responseXML,n&&n.documentElement&&(m.xml=n),m.text=g.responseText;try{k=g.statusText}catch(o){k=""}j||!a.isLocal||a.crossDomain?j===1223&&(j=204):j=m.text?200:404}}}catch(p){i||f(-1,p)}m&&f(j,k,m,l)},a.async&&g.readyState!==4?(bU||(bU={},bW()),h=bT++,g.onreadystatechange=bU[h]=c):c()},abort:function(){c&&c(0,1)}}}});var bZ={},b$=/^(?:toggle|show|hide)$/,b_=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,ca,cb=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];d.fn.extend({show:function(a,b,c){var e,f;if(a||a===0)return this.animate(cc("show",3),a,b,c);for(var g=0,h=this.length;g=0;a--)c[a].elem===this&&(b&&c[a](!0),c.splice(a,1))}),b||this.dequeue();return this}}),d.each({slideDown:cc("show",1),slideUp:cc("hide",1),slideToggle:cc("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){d.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),d.extend({speed:function(a,b,c){var e=a&&typeof a==="object"?d.extend({},a):{complete:c||!c&&b||d.isFunction(a)&&a,duration:a,easing:c&&b||b&&!d.isFunction(b)&&b};e.duration=d.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in d.fx.speeds?d.fx.speeds[e.duration]:d.fx.speeds._default,e.old=e.complete,e.complete=function(){e.queue!==!1&&d(this).dequeue(),d.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,c,d){return c+d*a},swing:function(a,b,c,d){return(-Math.cos(a*Math.PI)/2+.5)*d+c}},timers:[],fx:function(a,b,c){this.options=b,this.elem=a,this.prop=c,b.orig||(b.orig={})}}),d.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(d.fx.step[this.prop]||d.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];var a,b=d.css(this.elem,this.prop);return isNaN(a=parseFloat(b))?!b||b==="auto"?0:b:a},custom:function(a,b,c){function g(a){return e.step(a)}var e=this,f=d.fx;this.startTime=d.now(),this.start=a,this.end=b,this.unit=c||this.unit||(d.cssNumber[this.prop]?"":"px"),this.now=this.start,this.pos=this.state=0,g.elem=this.elem,g()&&d.timers.push(g)&&!ca&&(ca=setInterval(f.tick,f.interval))},show:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.show=!0,this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),d(this.elem).show()},hide:function(){this.options.orig[this.prop]=d.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(a){var b=d.now(),c=!0;if(a||b>=this.options.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),this.options.curAnim[this.prop]=!0;for(var e in this.options.curAnim)this.options.curAnim[e]!==!0&&(c=!1);if(c){if(this.options.overflow!=null&&!d.support.shrinkWrapBlocks){var f=this.elem,g=this.options;d.each(["","X","Y"],function(a,b){f.style["overflow"+b]=g.overflow[a]})}this.options.hide&&d(this.elem).hide();if(this.options.hide||this.options.show)for(var h in this.options.curAnim)d.style(this.elem,h,this.options.orig[h]);this.options.complete.call(this.elem)}return!1}var i=b-this.startTime;this.state=i/this.options.duration;var j=this.options.specialEasing&&this.options.specialEasing[this.prop],k=this.options.easing||(d.easing.swing?"swing":"linear");this.pos=d.easing[j||k](this.state,i,0,1,this.options.duration),this.now=this.start+(this.end-this.start)*this.pos,this.update();return!0}},d.extend(d.fx,{tick:function(){var a=d.timers;for(var b=0;b
";d.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"}),b.innerHTML=j,a.insertBefore(b,a.firstChild),e=b.firstChild,f=e.firstChild,h=e.nextSibling.firstChild.firstChild,this.doesNotAddBorder=f.offsetTop!==5,this.doesAddBorderForTableAndCells=h.offsetTop===5,f.style.position="fixed",f.style.top="20px",this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15,f.style.position=f.style.top="",e.style.overflow="hidden",e.style.position="relative",this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5,this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==i,a.removeChild(b),a=b=e=f=g=h=null,d.offset.initialize=d.noop},bodyOffset:function(a){var b=a.offsetTop,c=a.offsetLeft;d.offset.initialize(),d.offset.doesNotIncludeMarginInBodyOffset&&(b+=parseFloat(d.css(a,"marginTop"))||0,c+=parseFloat(d.css(a,"marginLeft"))||0);return{top:b,left:c}},setOffset:function(a,b,c){var e=d.css(a,"position");e==="static"&&(a.style.position="relative");var f=d(a),g=f.offset(),h=d.css(a,"top"),i=d.css(a,"left"),j=e==="absolute"&&d.inArray("auto",[h,i])>-1,k={},l={},m,n;j&&(l=f.position()),m=j?l.top:parseInt(h,10)||0,n=j?l.left:parseInt(i,10)||0,d.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):f.css(k)}},d.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),e=cf.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(d.css(a,"marginTop"))||0,c.left-=parseFloat(d.css(a,"marginLeft"))||0,e.top+=parseFloat(d.css(b[0],"borderTopWidth"))||0,e.left+=parseFloat(d.css(b[0],"borderLeftWidth"))||0;return{top:c.top-e.top,left:c.left-e.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&(!cf.test(a.nodeName)&&d.css(a,"position")==="static"))a=a.offsetParent;return a})}}),d.each(["Left","Top"],function(a,c){var e="scroll"+c;d.fn[e]=function(c){var f=this[0],g;if(!f)return null;if(c!==b)return this.each(function(){g=cg(this),g?g.scrollTo(a?d(g).scrollLeft():c,a?c:d(g).scrollTop()):this[e]=c});g=cg(f);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:d.support.boxModel&&g.document.documentElement[e]||g.document.body[e]:f[e]}}),d.each(["Height","Width"],function(a,c){var e=c.toLowerCase();d.fn["inner"+c]=function(){return this[0]?parseFloat(d.css(this[0],e,"padding")):null},d.fn["outer"+c]=function(a){return this[0]?parseFloat(d.css(this[0],e,a?"margin":"border")):null},d.fn[e]=function(a){var f=this[0];if(!f)return a==null?null:this;if(d.isFunction(a))return this.each(function(b){var c=d(this);c[e](a.call(this,b,c[e]()))});if(d.isWindow(f)){var g=f.document.documentElement["client"+c];return f.document.compatMode==="CSS1Compat"&&g||f.document.body["client"+c]||g}if(f.nodeType===9)return Math.max(f.documentElement["client"+c],f.body["scroll"+c],f.documentElement["scroll"+c],f.body["offset"+c],f.documentElement["offset"+c]);if(a===b){var h=d.css(f,e),i=parseFloat(h);return d.isNaN(i)?h:i}return this.css(e,typeof a==="string"?a:a+"px")}}),a.jQuery=a.$=d})(window); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/jquery.validate.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/jquery.validate.min.js new file mode 100644 index 0000000..6264866 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/jquery.validate.min.js @@ -0,0 +1,16 @@ +/* + * jQuery validation plug-in 1.7 + * + * http://bassistance.de/jquery-plugins/jquery-plugin-validation/ + * http://docs.jquery.com/Plugins/Validation + * + * Copyright (c) 2006 - 2008 Jörn Zaefferer + * + * $Id: jquery.validate.js 6403 2009-06-17 14:27:16Z joern.zaefferer $ + * + * Dual licensed under the MIT and GPL licenses: + * http://www.opensource.org/licenses/mit-license.php + * http://www.gnu.org/licenses/gpl.html + */ +(function($){$.extend($.fn,{validate:function(options){if(!this.length){options&&options.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing");return;}var validator=$.data(this[0],'validator');if(validator){return validator;}validator=new $.validator(options,this[0]);$.data(this[0],'validator',validator);if(validator.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){validator.cancelSubmit=true;});if(validator.settings.submitHandler){this.find("input, button").filter(":submit").click(function(){validator.submitButton=this;});}this.submit(function(event){if(validator.settings.debug)event.preventDefault();function handle(){if(validator.settings.submitHandler){if(validator.submitButton){var hidden=$("").attr("name",validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm);}validator.settings.submitHandler.call(validator,validator.currentForm);if(validator.submitButton){hidden.remove();}return false;}return true;}if(validator.cancelSubmit){validator.cancelSubmit=false;return handle();}if(validator.form()){if(validator.pendingRequest){validator.formSubmitted=true;return false;}return handle();}else{validator.focusInvalid();return false;}});}return validator;},valid:function(){if($(this[0]).is('form')){return this.validate().form();}else{var valid=true;var validator=$(this[0].form).validate();this.each(function(){valid&=validator.element(this);});return valid;}},removeAttrs:function(attributes){var result={},$element=this;$.each(attributes.split(/\s/),function(index,value){result[value]=$element.attr(value);$element.removeAttr(value);});return result;},rules:function(command,argument){var element=this[0];if(command){var settings=$.data(element.form,'validator').settings;var staticRules=settings.rules;var existingRules=$.validator.staticRules(element);switch(command){case"add":$.extend(existingRules,$.validator.normalizeRule(argument));staticRules[element.name]=existingRules;if(argument.messages)settings.messages[element.name]=$.extend(settings.messages[element.name],argument.messages);break;case"remove":if(!argument){delete staticRules[element.name];return existingRules;}var filtered={};$.each(argument.split(/\s/),function(index,method){filtered[method]=existingRules[method];delete existingRules[method];});return filtered;}}var data=$.validator.normalizeRules($.extend({},$.validator.metadataRules(element),$.validator.classRules(element),$.validator.attributeRules(element),$.validator.staticRules(element)),element);if(data.required){var param=data.required;delete data.required;data=$.extend({required:param},data);}return data;}});$.extend($.expr[":"],{blank:function(a){return!$.trim(""+a.value);},filled:function(a){return!!$.trim(""+a.value);},unchecked:function(a){return!a.checked;}});$.validator=function(options,form){this.settings=$.extend(true,{},$.validator.defaults,options);this.currentForm=form;this.init();};$.validator.format=function(source,params){if(arguments.length==1)return function(){var args=$.makeArray(arguments);args.unshift(source);return $.validator.format.apply(this,args);};if(arguments.length>2&¶ms.constructor!=Array){params=$.makeArray(arguments).slice(1);}if(params.constructor!=Array){params=[params];}$.each(params,function(i,n){source=source.replace(new RegExp("\\{"+i+"\\}","g"),n);});return source;};$.extend($.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:$([]),errorLabelContainer:$([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(element){this.lastActive=element;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,element,this.settings.errorClass,this.settings.validClass);this.errorsFor(element).hide();}},onfocusout:function(element){if(!this.checkable(element)&&(element.name in this.submitted||!this.optional(element))){this.element(element);}},onkeyup:function(element){if(element.name in this.submitted||element==this.lastElement){this.element(element);}},onclick:function(element){if(element.name in this.submitted)this.element(element);else if(element.parentNode.name in this.submitted)this.element(element.parentNode);},highlight:function(element,errorClass,validClass){$(element).addClass(errorClass).removeClass(validClass);},unhighlight:function(element,errorClass,validClass){$(element).removeClass(errorClass).addClass(validClass);}},setDefaults:function(settings){$.extend($.validator.defaults,settings);},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:$.validator.format("Please enter no more than {0} characters."),minlength:$.validator.format("Please enter at least {0} characters."),rangelength:$.validator.format("Please enter a value between {0} and {1} characters long."),range:$.validator.format("Please enter a value between {0} and {1}."),max:$.validator.format("Please enter a value less than or equal to {0}."),min:$.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){this.labelContainer=$(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&&this.labelContainer||$(this.currentForm);this.containers=$(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var groups=(this.groups={});$.each(this.settings.groups,function(key,value){$.each(value.split(/\s/),function(index,name){groups[name]=key;});});var rules=this.settings.rules;$.each(rules,function(key,value){rules[key]=$.validator.normalizeRule(value);});function delegate(event){var validator=$.data(this[0].form,"validator"),eventType="on"+event.type.replace(/^validate/,"");validator.settings[eventType]&&validator.settings[eventType].call(validator,this[0]);}$(this.currentForm).validateDelegate(":text, :password, :file, select, textarea","focusin focusout keyup",delegate).validateDelegate(":radio, :checkbox, select, option","click",delegate);if(this.settings.invalidHandler)$(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler);},form:function(){this.checkForm();$.extend(this.submitted,this.errorMap);this.invalid=$.extend({},this.errorMap);if(!this.valid())$(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid();},checkForm:function(){this.prepareForm();for(var i=0,elements=(this.currentElements=this.elements());elements[i];i++){this.check(elements[i]);}return this.valid();},element:function(element){element=this.clean(element);this.lastElement=element;this.prepareElement(element);this.currentElements=$(element);var result=this.check(element);if(result){delete this.invalid[element.name];}else{this.invalid[element.name]=true;}if(!this.numberOfInvalids()){this.toHide=this.toHide.add(this.containers);}this.showErrors();return result;},showErrors:function(errors){if(errors){$.extend(this.errorMap,errors);this.errorList=[];for(var name in errors){this.errorList.push({message:errors[name],element:this.findByName(name)[0]});}this.successList=$.grep(this.successList,function(element){return!(element.name in errors);});}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors();},resetForm:function(){if($.fn.resetForm)$(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass);},numberOfInvalids:function(){return this.objectLength(this.invalid);},objectLength:function(obj){var count=0;for(var i in obj)count++;return count;},hideErrors:function(){this.addWrapper(this.toHide).hide();},valid:function(){return this.size()==0;},size:function(){return this.errorList.length;},focusInvalid:function(){if(this.settings.focusInvalid){try{$(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin");}catch(e){}}},findLastActive:function(){var lastActive=this.lastActive;return lastActive&&$.grep(this.errorList,function(n){return n.element.name==lastActive.name;}).length==1&&lastActive;},elements:function(){var validator=this,rulesCache={};return $([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&&validator.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in rulesCache||!validator.objectLength($(this).rules()))return false;rulesCache[this.name]=true;return true;});},clean:function(selector){return $(selector)[0];},errors:function(){return $(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext);},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=$([]);this.toHide=$([]);this.currentElements=$([]);},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers);},prepareElement:function(element){this.reset();this.toHide=this.errorsFor(element);},check:function(element){element=this.clean(element);if(this.checkable(element)){element=this.findByName(element.name)[0];}var rules=$(element).rules();var dependencyMismatch=false;for(method in rules){var rule={method:method,parameters:rules[method]};try{var result=$.validator.methods[method].call(this,element.value.replace(/\r/g,""),element,rule.parameters);if(result=="dependency-mismatch"){dependencyMismatch=true;continue;}dependencyMismatch=false;if(result=="pending"){this.toHide=this.toHide.not(this.errorsFor(element));return;}if(!result){this.formatAndAdd(element,rule);return false;}}catch(e){this.settings.debug&&window.console&&console.log("exception occured when checking element "+element.id ++", check the '"+rule.method+"' method",e);throw e;}}if(dependencyMismatch)return;if(this.objectLength(rules))this.successList.push(element);return true;},customMetaMessage:function(element,method){if(!$.metadata)return;var meta=this.settings.meta?$(element).metadata()[this.settings.meta]:$(element).metadata();return meta&&meta.messages&&meta.messages[method];},customMessage:function(name,method){var m=this.settings.messages[name];return m&&(m.constructor==String?m:m[method]);},findDefined:function(){for(var i=0;iWarning: No message defined for "+element.name+"");},formatAndAdd:function(element,rule){var message=this.defaultMessage(element,rule.method),theregex=/\$?\{(\d+)\}/g;if(typeof message=="function"){message=message.call(this,rule.parameters,element);}else if(theregex.test(message)){message=jQuery.format(message.replace(theregex,'{$1}'),rule.parameters);}this.errorList.push({message:message,element:element});this.errorMap[element.name]=message;this.submitted[element.name]=message;},addWrapper:function(toToggle){if(this.settings.wrapper)toToggle=toToggle.add(toToggle.parent(this.settings.wrapper));return toToggle;},defaultShowErrors:function(){for(var i=0;this.errorList[i];i++){var error=this.errorList[i];this.settings.highlight&&this.settings.highlight.call(this,error.element,this.settings.errorClass,this.settings.validClass);this.showLabel(error.element,error.message);}if(this.errorList.length){this.toShow=this.toShow.add(this.containers);}if(this.settings.success){for(var i=0;this.successList[i];i++){this.showLabel(this.successList[i]);}}if(this.settings.unhighlight){for(var i=0,elements=this.validElements();elements[i];i++){this.settings.unhighlight.call(this,elements[i],this.settings.errorClass,this.settings.validClass);}}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show();},validElements:function(){return this.currentElements.not(this.invalidElements());},invalidElements:function(){return $(this.errorList).map(function(){return this.element;});},showLabel:function(element,message){var label=this.errorsFor(element);if(label.length){label.removeClass().addClass(this.settings.errorClass);label.attr("generated")&&label.html(message);}else{label=$("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(element),generated:true}).addClass(this.settings.errorClass).html(message||"");if(this.settings.wrapper){label=label.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();}if(!this.labelContainer.append(label).length)this.settings.errorPlacement?this.settings.errorPlacement(label,$(element)):label.insertAfter(element);}if(!message&&this.settings.success){label.text("");typeof this.settings.success=="string"?label.addClass(this.settings.success):this.settings.success(label);}this.toShow=this.toShow.add(label);},errorsFor:function(element){var name=this.idOrName(element);return this.errors().filter(function(){return $(this).attr('for')==name;});},idOrName:function(element){return this.groups[element.name]||(this.checkable(element)?element.name:element.id||element.name);},checkable:function(element){return/radio|checkbox/i.test(element.type);},findByName:function(name){var form=this.currentForm;return $(document.getElementsByName(name)).map(function(index,element){return element.form==form&&element.name==name&&element||null;});},getLength:function(value,element){switch(element.nodeName.toLowerCase()){case'select':return $("option:selected",element).length;case'input':if(this.checkable(element))return this.findByName(element.name).filter(':checked').length;}return value.length;},depend:function(param,element){return this.dependTypes[typeof param]?this.dependTypes[typeof param](param,element):true;},dependTypes:{"boolean":function(param,element){return param;},"string":function(param,element){return!!$(param,element.form).length;},"function":function(param,element){return param(element);}},optional:function(element){return!$.validator.methods.required.call(this,$.trim(element.value),element)&&"dependency-mismatch";},startRequest:function(element){if(!this.pending[element.name]){this.pendingRequest++;this.pending[element.name]=true;}},stopRequest:function(element,valid){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[element.name];if(valid&&this.pendingRequest==0&&this.formSubmitted&&this.form()){$(this.currentForm).submit();this.formSubmitted=false;}else if(!valid&&this.pendingRequest==0&&this.formSubmitted){$(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted=false;}},previousValue:function(element){return $.data(element,"previousValue")||$.data(element,"previousValue",{old:null,valid:true,message:this.defaultMessage(element,"remote")});}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(className,rules){className.constructor==String?this.classRuleSettings[className]=rules:$.extend(this.classRuleSettings,className);},classRules:function(element){var rules={};var classes=$(element).attr('class');classes&&$.each(classes.split(' '),function(){if(this in $.validator.classRuleSettings){$.extend(rules,$.validator.classRuleSettings[this]);}});return rules;},attributeRules:function(element){var rules={};var $element=$(element);for(method in $.validator.methods){var value=$element.attr(method);if(value){rules[method]=value;}}if(rules.maxlength&&/-1|2147483647|524288/.test(rules.maxlength)){delete rules.maxlength;}return rules;},metadataRules:function(element){if(!$.metadata)return{};var meta=$.data(element.form,'validator').settings.meta;return meta?$(element).metadata()[meta]:$(element).metadata();},staticRules:function(element){var rules={};var validator=$.data(element.form,'validator');if(validator.settings.rules){rules=$.validator.normalizeRule(validator.settings.rules[element.name])||{};}return rules;},normalizeRules:function(rules,element){$.each(rules,function(prop,val){if(val===false){delete rules[prop];return;}if(val.param||val.depends){var keepRule=true;switch(typeof val.depends){case"string":keepRule=!!$(val.depends,element.form).length;break;case"function":keepRule=val.depends.call(element,element);break;}if(keepRule){rules[prop]=val.param!==undefined?val.param:true;}else{delete rules[prop];}}});$.each(rules,function(rule,parameter){rules[rule]=$.isFunction(parameter)?parameter(element):parameter;});$.each(['minlength','maxlength','min','max'],function(){if(rules[this]){rules[this]=Number(rules[this]);}});$.each(['rangelength','range'],function(){if(rules[this]){rules[this]=[Number(rules[this][0]),Number(rules[this][1])];}});if($.validator.autoCreateRanges){if(rules.min&&rules.max){rules.range=[rules.min,rules.max];delete rules.min;delete rules.max;}if(rules.minlength&&rules.maxlength){rules.rangelength=[rules.minlength,rules.maxlength];delete rules.minlength;delete rules.maxlength;}}if(rules.messages){delete rules.messages;}return rules;},normalizeRule:function(data){if(typeof data=="string"){var transformed={};$.each(data.split(/\s/),function(){transformed[this]=true;});data=transformed;}return data;},addMethod:function(name,method,message){$.validator.methods[name]=method;$.validator.messages[name]=message!=undefined?message:$.validator.messages[name];if(method.length<3){$.validator.addClassRules(name,$.validator.normalizeRule(name));}},methods:{required:function(value,element,param){if(!this.depend(param,element))return"dependency-mismatch";switch(element.nodeName.toLowerCase()){case'select':var val=$(element).val();return val&&val.length>0;case'input':if(this.checkable(element))return this.getLength(value,element)>0;default:return $.trim(value).length>0;}},remote:function(value,element,param){if(this.optional(element))return"dependency-mismatch";var previous=this.previousValue(element);if(!this.settings.messages[element.name])this.settings.messages[element.name]={};previous.originalMessage=this.settings.messages[element.name].remote;this.settings.messages[element.name].remote=previous.message;param=typeof param=="string"&&{url:param}||param;if(previous.old!==value){previous.old=value;var validator=this;this.startRequest(element);var data={};data[element.name]=value;$.ajax($.extend(true,{url:param,mode:"abort",port:"validate"+element.name,dataType:"json",data:data,success:function(response){validator.settings.messages[element.name].remote=previous.originalMessage;var valid=response===true;if(valid){var submitted=validator.formSubmitted;validator.prepareElement(element);validator.formSubmitted=submitted;validator.successList.push(element);validator.showErrors();}else{var errors={};var message=(previous.message=response||validator.defaultMessage(element,"remote"));errors[element.name]=$.isFunction(message)?message(value):message;validator.showErrors(errors);}previous.valid=valid;validator.stopRequest(element,valid);}},param));return"pending";}else if(this.pending[element.name]){return"pending";}return previous.valid;},minlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)>=param;},maxlength:function(value,element,param){return this.optional(element)||this.getLength($.trim(value),element)<=param;},rangelength:function(value,element,param){var length=this.getLength($.trim(value),element);return this.optional(element)||(length>=param[0]&&length<=param[1]);},min:function(value,element,param){return this.optional(element)||value>=param;},max:function(value,element,param){return this.optional(element)||value<=param;},range:function(value,element,param){return this.optional(element)||(value>=param[0]&&value<=param[1]);},email:function(value,element){return this.optional(element)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value);},url:function(value,element){return this.optional(element)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value);},date:function(value,element){return this.optional(element)||!/Invalid|NaN/.test(new Date(value));},dateISO:function(value,element){return this.optional(element)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value);},number:function(value,element){return this.optional(element)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value);},digits:function(value,element){return this.optional(element)||/^\d+$/.test(value);},creditcard:function(value,element){if(this.optional(element))return"dependency-mismatch";if(/[^0-9-]+/.test(value))return false;var nCheck=0,nDigit=0,bEven=false;value=value.replace(/\D/g,"");for(var n=value.length-1;n>=0;n--){var cDigit=value.charAt(n);var nDigit=parseInt(cDigit,10);if(bEven){if((nDigit*=2)>9)nDigit-=9;}nCheck+=nDigit;bEven=!bEven;}return(nCheck%10)==0;},accept:function(value,element,param){param=typeof param=="string"?param.replace(/,/g,'|'):"png|jpe?g|gif";return this.optional(element)||value.match(new RegExp(".("+param+")$","i"));},equalTo:function(value,element,param){var target=$(param).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){$(element).valid();});return value==target.val();}}});$.format=$.validator.format;})(jQuery);;(function($){var ajax=$.ajax;var pendingRequests={};$.ajax=function(settings){settings=$.extend(settings,$.extend({},$.ajaxSettings,settings));var port=settings.port;if(settings.mode=="abort"){if(pendingRequests[port]){pendingRequests[port].abort();}return(pendingRequests[port]=ajax.apply(this,arguments));}return ajax.apply(this,arguments);};})(jQuery);;(function($){if(!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener){$.each({focus:'focusin',blur:'focusout'},function(original,fix){$.event.special[fix]={setup:function(){this.addEventListener(original,handler,true);},teardown:function(){this.removeEventListener(original,handler,true);},handler:function(e){arguments[0]=$.event.fix(e);arguments[0].type=fix;return $.event.handle.apply(this,arguments);}};function handler(e){e=$.event.fix(e);e.type=fix;return $.event.handle.call(this,e);}});};$.extend($.fn,{validateDelegate:function(delegate,type,handler){return this.bind(type,function(event){var target=$(event.target);if(target.is(delegate)){return handler.apply(target,arguments);}});}});})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.autocomplete.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.autocomplete.min.js new file mode 100644 index 0000000..b03d544 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.autocomplete.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.autocomplete=function(c,d){a.extend(this,d);var i=a.browser.msie?"paste":"input";var e=this.$element=a(c).addClass("t-widget t-autocomplete t-input").attr("autocomplete","off").bind(i,a.proxy(function(j){g(this)},this));this.$text=e;this.element=c;this.trigger=new b.list.trigger(this);this.trigger.change=function(){var k=this.component.text();var j=this.component.previousValue;if(j==undefined||k!=j){b.trigger(this.component.element,"valueChange",{value:k})}this.component.previousValue=k};this.loader=new b.list.loader(this);this.loader.showBusy=function(){this.busyTimeout=setTimeout(a.proxy(function(){this.component.$element.addClass("t-loading")},this),100)};this.loader.hideBusy=function(){clearTimeout(this.busyTimeout);this.component.$element.removeClass("t-loading")};this.filtering=new b.list.filtering(this);this.filtering.autoFill=function(s,o){if(s.autoFill&&(s.lastKeyCode!=8&&s.lastKeyCode!=46)){var v=s.$text[0];var j=v.value;var t=s.separator;var p=b.caretPos(v);var l=t?b.lastIndexOf(j.substring(0,p),t):-1;var q=l!=-1?l+t.length:0;var m=j.substring(q,p);var u=o.toLowerCase().indexOf(m.toLowerCase());if(u!=-1){var r=o.substring(u+m.length);var k=f(v,t);var n=j.split(t);n[k]=m+r;v.value=n.join(t)+(s.multiple&&k!=0&&k==n.length-1?t:"");b.list.selection(v,p,p+r.length)}}};this.enable=function(){e.removeClass("t-state-disabled").removeAttr("disabled")};this.disable=function(){e.addClass("t-state-disabled").attr("disabled","disabled")};this.filtering.multiple=a.proxy(function(j){if(this.multiple){j=j.split(this.separator);j=j[f(this.$text[0],this.separator)]}return j},this);this.dropDown=new b.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:a.proxy(function(j){this.select(j.item);this.trigger.change();this.trigger.close()},this)});this.dropDown.$element.css("direction",e.closest(".t-rtl").length?"rtl":"");this.fill=function(k){function j(s){var r=s.highlightFirst?o.$items.first():null;if(r){r.addClass("t-state-selected")}}var p=this.loader;var o=this.dropDown;var l=this.minChars;var n=this.text();var q=n.length;if(!o.$items&&!p.ajaxError){if(p.isAjax()&&q>=l){var m={};m[this.queryString.text]=n;p.ajaxRequest(function(r){this.dataBind(r,true);j(this);b.trigger(this.element,"dataBound");this.trigger.change();if(k){k()}},{data:m})}else{this.dataBind(this.data,true);j(this);if(k){k()}}}};this.text=function(){if(arguments.length>0){this.previousValue=arguments[0]}return this.$text.val.apply(this.$text,arguments)};this.value=function(){return this.text.apply(this,arguments)};this.select=function(r){var q=this.highlight(r);if(q==-1){return q}var k=this.filteredDataIndexes;var m=(k&&k.length)>0?k[q]:q;var r=this.data[m];var o=r.Text?r.Text:r;var j=o;if(this.multiple){var l=this.$element;var p=this.separator;var n=f(l[0],p);j=l.val().split(p);j[n]=o;j=j.join(p)+(n==j.length-1?p:"")}this.$text.val(j)};b.list.common.call(this);b.list.filters.call(this);b.list.initialize.call(this);this.dataBind=function(l,j){this.data=l=(l||[]);var m=!!this.loader.isAjax();if(this.encoded&&m){for(var k=0,n=l.length;k36&&o<41&&o!=37&&o!=39){s.preventDefault();if(k.isOpened()){if(!k.$items){this.fill()}var l=k.$items;var p=l.filter(".t-state-selected:first");var j=[];if(o==38){var t=p.prev();j=t.length?t:l.last()}else{if(o==40){var q=p.next();j=q.length?q:l.first()}}if(j.length){var u=j[0];this.highlight(u);k.scrollTo(u);this.filtering.autoFill(this,j.text())}}}if(o==8||o==46){var m=this.$element;if(m.val()!=""){g(this)}setTimeout(a.proxy(function(){if(m.val()==""){n.close()}},this),0)}if(o==13){if(k.isOpened()){s.preventDefault()}if(k.$items){var r=k.$items.filter(".t-state-selected:first");if(r.length>0){this.select(r[0])}}n.change();n.close();b.list.moveToEnd(this.element)}if(o==27||o==9){n.change();n.close()}}};a.fn.tAutoComplete=function(c){return b.create(this,{name:"tAutoComplete",init:function(d,e){return new b.autocomplete(d,e)},options:c})};a.fn.tAutoComplete.defaults={encoded:true,effects:b.fx.slide.defaults(),filter:1,delay:200,minChars:1,cache:true,autoFill:false,highlightFirst:false,queryString:{text:"text"},multiple:false,separator:", "}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.calendar.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.calendar.min.js new file mode 100644 index 0000000..f121d4a --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.calendar.min.js @@ -0,0 +1 @@ +(function(e){var b=e.telerik,c=/{0:?/,d=/{0:?(\S|\s)*}/;function a(i,h,f){var g=new b.datetime();if(i){g=new b.datetime(i)}if(h>g.value){g=new b.datetime(h)}else{if(f').cat('').cat(this.currentView.title(this.viewedMonth)).cat("").cat('=0).cat('">');e(".t-header",this.element).html(j.string());e(".t-nav-next:not(.t-state-disabled)",h).live("click",e.proxy(this.navigateToFuture,this));e(".t-nav-prev:not(.t-state-disabled)",h).live("click",e.proxy(this.navigateToPast,this));e(".t-nav-fast:not(.t-state-disabled)",h).live("click",e.proxy(this.navigateUp,this));e(".t-link.t-state-disabled",h).live("click",b.preventDefault);e("td:not(.t-state-disabled):has(.t-link)",h).live("mouseenter",b.hover).live("mouseleave",b.leave).live("click",e.proxy(this.navigateDown,this));b.bind(this,{change:this.onChange,load:this.onLoad})}});b.calendar.prototype={stopAnimation:false,updateSelection:function(){var i=b.datetime.firstDayOfMonth(this.viewedMonth).toDate();var h=new b.datetime(i).date(32).date(0).toDate();if(this.selectedDate===null||!b.calendar.isInRange(this.selectedDate,i,h)){var g=a(this.selectedDate,this.minDate,this.maxDate);this.goToView(0,g)}var f=this;var j=e(".t-content td:not(.t-other-month)",this.element).removeClass("t-state-selected");if(this.selectedDate!==null){j.filter(function(){return(parseInt(e(this).text(),10)==f.selectedDate.getDate())}).addClass("t-state-selected")}},value:function(){if(arguments.length==0){return this.selectedDate}if(arguments.length==1){this.selectedDate=arguments[0]===null?null:new Date(arguments[0].value?arguments[0].value:arguments[0])}else{if(arguments.length>1){this.selectedDate=new Date(arguments[0],arguments[1],arguments[2])}}this.updateSelection();return this},overlay:function(f){if(!f){return e(".t-overlay",this.element).remove()}e("
").addClass("t-overlay").css({opacity:0,width:this.element.offsetWidth,height:this.element.offsetHeight,position:"absolute",top:0,left:0,zIndex:3,backgroundColor:"#fff"}).appendTo(this.element)},goToView:function(h,g){if(h<0||b.calendar.views.length<=h){return}var f=new b.datetime(this.minDate);var i=new b.datetime(this.maxDate);if(typeof g!="undefined"){g=g.value?g:new b.datetime(g);this.viewedMonth=b.datetime.firstDayOfMonth(g)}this.currentView=b.calendar.views[h];e(".t-nav-prev",this.element).toggleClass("t-state-disabled",this.currentView.compare(g,f,false)<=0);e(".t-nav-next",this.element).toggleClass("t-state-disabled",this.currentView.compare(g,i,true)>=0);e(".t-nav-fast",this.element).html(this.currentView.title(g)).toggleClass("t-state-disabled",h==b.calendar.views.length-1);e(".t-content",this.element).html(this.currentView.body(g,f,i,this.selectedDate?new b.datetime(this.selectedDate):null,this.urlFormat,this.dates)).toggleClass("t-meta-view",h==1||h==2);return this},navigateVertically:function(g,i,k,t){i=new b.datetime(i);this.viewedMonth=b.datetime.firstDayOfMonth(i);this.currentView=b.calendar.views[g];this.overlay(true);var r=new b.datetime(this.minDate);var q=new b.datetime(this.maxDate);var s=e(".t-content",this.element);var h=s.outerWidth();var v=s.outerHeight();var l=s.css("font-size");var u=s.css("line-height");if(u==="normal"){u=parseInt(l)*1.5}s.find("td").removeClass("t-state-hover");e(".t-nav-fast",this.element).html(this.currentView.title(i)).toggleClass("t-state-disabled",g==b.calendar.views.length-1);e(".t-nav-prev",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,r,false)<=0);e(".t-nav-next",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,q,true)>=0);var j=e('
').html(this.currentView.body(i,r,q,this.selectedDate?new b.datetime(this.selectedDate):null,this.urlFormat,this.dates)).toggleClass("t-meta-view",g==1||g==2);var f=this;var p={fontSize:l,lineHeight:u,top:0,left:0,width:h,height:v,opacity:1};var o;if(k){o=b.fx._wrap(s).css({overflow:"hidden",position:"relative"});j.wrap(e("
").addClass("t-animation-container").css(e.extend({position:"absolute",zIndex:1,fontSize:1,lineHeight:1,width:t.outerWidth(),height:t.outerHeight(),opacity:0},t.position()))).parent().insertAfter(s);if(!this.stopAnimation){j.parent().animate({fontSize:l,lineHeight:u,top:0,left:0,width:h,height:v,opacity:1},"normal",function(){j.appendTo(f.element);o.remove();f.overlay(false)})}else{s.remove();j.appendTo(f.element);o.remove();f.overlay(false)}}else{j.insertBefore(s);o=b.fx._wrap(j).css({overflow:"hidden",position:"relative"});var n;if(g!=0){n=b.calendar.views[g].verticalDate(this.viewedMonth)}var m={top:(Math.floor(n/4)*v)/3,left:((n%4)*h)/4};s.wrap(e("
").addClass("t-animation-container").css(e.extend({position:"absolute"},p))).parent().insertAfter(j);if(!this.stopAnimation){s.parent().animate(e.extend({fontSize:1,lineHeight:1,width:48,height:54,opacity:0},m),"normal",function(){j.appendTo(f.element);o.remove();f.overlay(false)})}else{s.remove();j.appendTo(f.element);o.remove();f.overlay(false)}}b.trigger(this.element,"navigate",{direction:k})},navigateHorizontally:function(f,j,l){j=new b.datetime(j);var g=new b.datetime(this.minDate);var k=new b.datetime(this.maxDate);this.viewedMonth=b.datetime.firstDayOfMonth(b.calendar.fitDateToRange(j,g,k));this.currentView=b.calendar.views[f];e(".t-nav-fast",this.element).html(this.currentView.title(j)).toggleClass("t-state-disabled",f==b.calendar.views.length-1);e(".t-nav-prev",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,g,false)<=0);e(".t-nav-next",this.element).toggleClass("t-state-disabled",this.currentView.compare(this.viewedMonth,k,true)>=0);this.overlay(true);var i=e('
').html(this.currentView.body(j,g,k,this.selectedDate?new b.datetime(this.selectedDate):null,this.urlFormat,this.dates)).toggleClass("t-meta-view",f==1||f==2);var h=e(".t-content",this.element);var o=h.outerWidth();h.add(i).css({width:o,"float":"left"});var n=b.fx._wrap(h).css({position:"relative",width:o*2,"float":"left",left:(l?0:-200)});i[l?"insertAfter":"insertBefore"](h);var m=this;if(!this.stopAnimation){n.animate({left:(l?-200:0)},"normal",function(){i.appendTo(m.element);n.remove();m.overlay(false)})}else{h.remove();i.appendTo(m.element);n.remove();m.overlay(false)}b.trigger(this.element,"navigate",{direction:l})},navigateUp:function(g){if(g){g.preventDefault()}var f=this.currentView.index;this.navigateVertically(f+1,this.viewedMonth.toDate(),false)},navigateDown:function(n,l,f){var h=e(e(n.target).hasClass("t-input")?l:n.target);var o=h.text();var m=f||this.currentView.index;var g=h.attr("href");if(g&&(g.charAt(g.length-1)=="#")){n.preventDefault()}if(m==0){var k=parseInt(o,10);var j=this.viewedMonth.month();if(h.parent().hasClass("t-other-month")){j+=(k<15?1:-1)}var i=new Date(this.viewedMonth.year(),j,k);if(!this.selectedDate||(this.selectedDate>i||i>this.selectedDate)){if(b.trigger(this.element,"change",{previousDate:this.selectedDate,date:i})){return this}this.selectedDate=i}this.updateSelection()}else{if(m!=0){b.calendar.views[m].verticalDate(this.viewedMonth,o)}this.viewedMonth=b.calendar.fitDateToRange(this.viewedMonth,new b.datetime(this.minDate),new b.datetime(this.maxDate));this.navigateVertically(m-1,this.viewedMonth.toDate(),true,h.add(h.parent()).filter("td"))}},navigateToPast:function(g){if(g){g.preventDefault()}var f=this.currentView.index;if(f==0){this.viewedMonth.date(1).date(-1)}else{this.viewedMonth.addYear(-Math.pow(10,f-1))}this.navigateHorizontally(f,this.viewedMonth.toDate(),false)},navigateToFuture:function(g){if(g){g.preventDefault()}var f=this.currentView.index;if(f==0){this.viewedMonth.date(32).date(1)}else{this.viewedMonth.addYear(Math.pow(10,f-1))}this.navigateHorizontally(f,this.viewedMonth.toDate(),true)}};e.fn.tCalendar=function(f){return b.create(this,{name:"tCalendar",init:function(g,h){return new b.calendar(g,h)},options:f})};e.fn.tCalendar.defaults={selectedDate:null,minDate:new Date(1899,11,31),maxDate:new Date(2100,0,1)};e.extend(b.calendar,{views:[{index:0,title:function(f){return new b.stringBuilder().cat(b.cultureInfo.months[f.month()]).cat(" ").cat(f.year()).string()},body:function(j,r,o,n,m,q){var x=(new b.stringBuilder()).cat('');var k=b.cultureInfo.firstDayOfWeek;var h=b.cultureInfo.days;var w=b.cultureInfo.abbrDays;h=h.slice(k).concat(h.slice(0,k));w=w.slice(k).concat(w.slice(0,k));for(var l=0;l<7;l++){x.cat('').cat(h[l].charAt(0)).cat("")}x.cat("");var s=b.datetime.firstVisibleDay(j);var f=j.month();var u=n===null?false:j.year()==n.year();var v;for(var t=0;t<6;t++){x.cat("");for(var g=0;g<7;g++){v=s.month()!=f?"t-other-month":(u&&s.month()==n.month()&&s.date()==n.date())?" t-state-selected":"";x.cat("");if(b.calendar.isInRange(s.toDate(),r.toDate(),o.toDate())){x.cat('').cat(s.date()).cat("")}else{x.cat(" ")}x.cat("");b.datetime.modify(s,b.datetime.msPerDay)}x.cat("")}x.cat("");return x.string()},compare:function(g,f){var i;var l=g.month();var h=g.year();var k=f.month();var j=f.year();if(h>j){i=1}else{if(hk?1:-1}}return i},firstLastDay:function(h,f,g){return f?b.datetime.firstDayOfMonth(h):new b.datetime(h.year(),h.month()+1,0)},navCheck:function(g,f,h){if(h){return new b.datetime(f.year(),f.month()+1,f.date()).value-g.value<=0}else{return this.compare(g,f)===-1}}},{index:1,title:function(f){return f.year()},body:function(g,f,h){return b.calendar.metaView(true,g,function(){var j=[];var m=0;var l=11;if(f.year()==h.year()){m=f.month();l=h.month()}else{if(g.year()==f.year()){m=f.month()}else{if(g.year()==h.year()){l=h.month()}}}for(var k=0;k<12;k++){if(k>=m&&k<=l){j.push(b.cultureInfo.abbrMonths[k])}else{j.push(" ")}}return j})},compare:function(f,g){return f.year()>g.year()?1:f.year()=j&&l+n<=m?l+n:" ")}return k})},compare:function(g,f,i){var j=g.year();var h=(j-j%10);var k=(j-j%10+9);return b.calendar.check(h,k,f,i)},verticalDate:function(f,g){if(!g){return f.year()%10+1}f.year(g)},firstLastDay:function(f,g){return new b.datetime(f.year()-f.year()%10+(g?0:9),0,1)},navCheck:function(h,f,i){var g=this.compare(f,h,i);return i?g==-1:g==1}},{index:3,title:function(g){var f=g.year()-g.year()%100;return f+"-"+(f+99)},body:function(g,f,h){return b.calendar.metaView(false,g,function(){var l=g.year()-g.year()%100;var j=[];for(var m=-1;m<11;m++){var k=l+m*10;if((k+10)>=f.year()&&k<=h.year()){j.push(k+"-
"+(k+9)+" ")}else{j.push(" 
 ")}}return j})},compare:function(g,f,h){var i=g.year();var k=(i-i%100);var j=(i-i%100+99);return b.calendar.check(k,j,f,h)},verticalDate:function(f,g){if(!g){return Math.ceil(f.year()/10)%10+1}f.year(g.substring(0,g.indexOf("-")))},firstLastDay:function(f,g){return g?new b.datetime(f.year()-(f.year()%100),0,1):new b.datetime(f.year()-(f.year()%100)+99,0,1)},navCheck:function(h,f,i){var g=this.compare(f,h,i);return i?g==-1:g==1}}],check:function(i,j,f,g){var h=function(k){return kf.year()?1:0};return g?h(j):h(i)},html:function(i,g,f,j,k,h){i=i||new b.datetime();f=f||new b.datetime(e.fn.tCalendar.defaults.minDate);j=j||new b.datetime(e.fn.tCalendar.defaults.maxDate);return new b.stringBuilder().cat('
').cat('").cat('').cat(b.calendar.views[0].body(i,f,j,g,k,h)).cat("
").string()},metaView:function(k,m,g){var h=new b.stringBuilder();var l=g();h.cat("");for(var f=0,j=l.length;f",f>0&&f%4==0).cat("");if(l[f]!==" "&&l[f]!==" 
 "){h.cat('').cat(l[f]).cat("")}else{h.cat(l[f])}h.cat("")}h.cat("");return h.string()},isInRange:function(g,f,h){if(!g){return false}var i=new Date(g.getFullYear(),g.getMonth(),g.getDate());var j=new Date(f.getFullYear(),f.getMonth(),f.getDate());var k=new Date(h.getFullYear(),h.getMonth(),h.getDate());return j-i<=0&&k-i>=0},fitDateToRange:function(h,f,g){if(h.valueg.value){h=new b.datetime(g.value)}return h},isInCollection:function(i,f){var g=f[i.year()];if(g){var h=g[i.month()];if(h&&e.inArray(i.date(),h)!=-1){return true}}return false},findTarget:function(k,n,m,i){k=k.value?k:new b.datetime(k);var f=function(o,p){return e.grep(o,function(q){return e(q).children().eq(0).text().indexOf(p)>-1})[0]};var g=i?"last":"first";var l=e(".t-content:"+g+" td:has(> .t-link)",m).removeClass("t-state-focus");var h;if(n==0){h=e(f(l.filter(":not(.t-other-month)"),k.date()))}else{if(n==1){h=e(f(l,b.cultureInfo.abbrMonths[k.month()]))}else{if(n==2||n==3){var j=k.year();h=e(f(l,n==2?j:j-(j%10)));if(h.length==0&&n==3){h=e(f(l,j-(j%10)+99))}}}}return h},focusDate:function(i,f,h,g){b.calendar.findTarget(i,f,h,g).addClass("t-state-focus")},formatUrl:function(f,i){var h=f.match(d);if(h){h=h[0];var g=h==="{0}"?b.cultureInfo.generalDateTime:h.replace(c,"").replace("}","");return f.replace(h,b.datetime.format(i.toDate(),g))}return f}});e.extend(b.formatters,{date:b.datetime.format})})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.combobox.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.combobox.min.js new file mode 100644 index 0000000..038892a --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.combobox.min.js @@ -0,0 +1 @@ +(function(c){var a=c.telerik;a.combobox=function(f,p){c.extend(this,p);var d=f.nodeName.toLowerCase()=="input"&&f.type.toLowerCase()=="text";var q=f.nodeName.toLowerCase()=="select";if((d||q)&&!c(f).parent().hasClass("t-combobox")){if(q&&!this.data){this.data=a.list.retrieveData(f)}var j=new a.list.htmlBuilder(f,"t-combobox",q);j.text=function(s){var t=s.builder;t.buffer=[];return c(t.cat('").string())};j.render();if(q){f=f.previousSibling}}this.element=f;var o=this.$element=c(f);this.loader=new a.list.loader(this);this.trigger=new a.list.trigger(this);var g=this.$wrapper=o.closest(".t-combobox");var e=this.$wrapper.find(".t-select");var n=c.browser.msie?"paste":"input";var i=this.$text=this.$wrapper.find("> .t-dropdown-wrap > .t-input").attr("autocomplete","off").bind(n,c.proxy(function(v){var s=v.target.value;if(c.browser.msie){var u=f.document.selection.createRange().text;var t=window.clipboardData.getData("Text");if(u&&u.length>0){s=s.replace(u,t)}else{s+=t}}this.$element.val(s);m(this)},this));var l=function(u){var s="class",t=o.attr(s);if(t!=i.attr(s)){i.attr(s,t).addClass("t-input")}};if(c.browser.msie){f.attachEvent("onpropertychange",l)}else{o.bind("DOMAttrModified",l)}if(!o.attr("disabled")){e.bind("click",c.proxy(h,this))}this.filtering=new a.list.filtering(this);this.filtering.autoFill=function(s,t){if(s.autoFill&&(s.lastKeyCode!=8&&s.lastKeyCode!=46)){var u=s.$text[0];var y=a.caretPos(u);var x=u.value.substring(0,y);var w=t.toLowerCase().indexOf(x.toLowerCase());if(w!=-1){var v=t.substring(w+x.length);u.value=x+v;a.list.selection(u,y,y+v.length)}}};this.dropDown=new a.dropDown({attr:this.dropDownAttr,effects:this.effects,onOpen:c.proxy(function(){var t=this.data;var s=this.dropDown;if(t.length==0){return}var v=this.$text.val();var u=this.selectedIndex;if(u!=-1&&this.isFiltered){if(v==t[u].Text){this.filteredDataIndexes=[];s.onItemCreate=null;s.dataBind(this.data);this.select(s.$items[u])}else{this.filters[this.filter](this,this.data,v)}this.isFiltered=false}},this),onClick:c.proxy(function(s){this.select(s.item);this.trigger.change();this.trigger.close();i.focus()},this)});this.dropDown.$element.css("direction",g.closest(".t-rtl").length?"rtl":"");this.enable=function(){g.removeClass("t-state-disabled");i.removeAttr("disabled");e.bind("click",c.proxy(h,this))};this.disable=function(){g.addClass("t-state-disabled");i.attr("disabled","disabled");e.unbind("click")};this.fill=function(t){function v(B){var A=B.selectedValue||B.value();if(A){B.value(A);return}var C=s.$items;var E=B.index;var D=C.filter(".t-state-selected");var F=D.length;var G=E!=-1&&E0?D[F-1]:null;if(G){B.select(G)}else{B.selectedIndex=-1;if(B.highlightFirst){B.highlight(C[0])}}}var w=this.loader;var s=this.dropDown;var y=this.minChars;var x=this.text();var u=x.length;if(!s.$items&&!w.ajaxError){if(w.isAjax()&&u>=y){var z={};z[this.queryString.text]=x;w.ajaxRequest(function(A){this.dataBind(A,true);v(this);a.trigger(this.element,"dataBound");this.trigger.change();if(t){t()}},{data:z})}else{this.dataBind(this.data,true);v(this);if(t){t()}}}};this.reload=function(){this.dropDown.$items=null;this.fill()};this.select=function(t){var s=this.highlight(t);if(s==-1){return s}var u=this.filteredDataIndexes;this.selectedIndex=(u&&u.length)>0?u[s]:s;a.list.updateTextAndValue(this,c(this.dropDown.$items[s]).text(),this.data[this.selectedIndex].Value)};this.text=function(){return this.$text.val.apply(this.$text,arguments)};this.value=function(){if(arguments.length){var t=arguments[0];var s=this.select(function(u){return t==(u.Value||u.Text)});if(s==-1){this.selectedIndex=s;this.$element.val(t);this.text(t)}this.previousValue=this.$element.val()}else{return this.$element.val()}};a.list.common.call(this);a.list.filters.call(this);a.list.initialize.call(this);c(document.documentElement).bind("mousedown",c.proxy(function(v){var s=this.dropDown.$element;var t=s&&s.parent().length>0;if(c.contains(this.$wrapper[0],v.target)||(t&&c.contains(s.parent()[0],v.target))){return}if(this._textChanged){this._textChanged=false;var u=b(this.data,this.$text.val());if(u){this.text(u.Text);this.$element.val(u.Value||u.Text)}}this.trigger.change();this.trigger.close()},this));this.$text.bind({change:c.proxy(function(s){s.stopPropagation()},this),keydown:c.proxy(k,this),keypress:c.proxy(r,this),focus:c.proxy(function(v){if(this.openOnFocus){var t=this.trigger;var s=this.dropDown;if(!s.$items){this.fill(t.open)}else{t.open()}}var u=this.$text;a.list.selection(u[0],0,u.val().length)},this)});function h(u){var s=this.dropDown,t=this.trigger;this.loader.ajaxError=false;if(!s.isOpened()){if(!s.$items){this.fill(t.open)}else{t.open()}i[0].focus()}else{t.close()}}function m(s){clearTimeout(s.timeout);s.timeout=setTimeout(function(){s.filtering.filter(s)},s.delay)}function k(B){var w=this.trigger;var t=this.dropDown;var y=B.keyCode||B.which;this.lastKeyCode=y;if(B.altKey&&y==38){w.close();return}if(B.altKey&&y==40){w.open();return}if(!B.shiftKey&&(y==38||y==40)){B.preventDefault();if(!t.$items){this.fill()}var u=t.$items;var z=u.filter(".t-state-selected:first");var s=z.length==0||u.length==1?u.first():(y==38)?z.prev():(y==40)?z.next():[];if(s.length){var C=s[0];this.select(C);t.scrollTo(C);if(!t.isOpened()){w.change()}}}if(y==8||y==46){var x=this.$text;if(x.val()!=""){m(this)}setTimeout(c.proxy(function(){if(x.val()==""){this.selectedIndex=-1;this.$element.val("")}else{this.$element.val(this.$text.val())}},this),0)}if(y==13){if(t.isOpened()){B.preventDefault()}var A=t.$items.filter(".t-state-selected:first");if(A.length>0){this.select(A[0])}else{this.$element.val(this.$text.val())}w.change();w.close();a.list.moveToEnd(this.$text[0])}if(y==27||y==9){var v=b(this.data,this.$text.val());if(v){this.text(v.Text);this.$element.val(v.Value||v.Text)}w.change();w.close();if(y==27){this.$text.blur()}}}function r(t){this._textChanged=true;var s=t.keyCode||t.charCode;if(!t.shiftKey&&(s==0||c.inArray(s,a.list.keycodes)!=-1||t.ctrlKey)){return true}setTimeout(c.proxy(function(){this.$element.val(this.$text.val())},this),0);m(this)}};function b(f,h){if(!h){return}h=h.toLowerCase();if(f){for(var d=0,g=f.length;d=180&&k<=191;var s=/d{1,4}|M{1,4}|yy(?:yy)?|([Hhmstf])\1*|"[^"]*"|'[^']*'/g;var n=i.telerik={create:function(e,t){var v=t.name;var u=i.extend({},i.fn[v].defaults,t.options);return e.each(function(){var w=i(this);u=i.meta?i.extend({},u,w.data()):u;if(!w.data(v)){var x=t.init(this,u);w.data(v,x);n.trigger(this,"load");if(t.success){t.success(x)}}})},toJson:function(e){function t(v){return"["+i.map(v,u).join(",")+"]"}function u(x){var w=[];for(var y in x){var v=x[y];if(i.isArray(v)){w.push('"'+y+'":'+t(v))}else{if(typeof v!="object"){w.push('"'+y+'":"'+(v==null?"":v)+'"')}else{w.push('"'+y+'":'+u(v))}}}return"{"+w.join(",")+"}"}if(i.isArray(e)){return t(e)}else{return u(e)}},delegate:function(t,e){return function(u){e.apply(t,[u,this])}},stop:function(e,t){return function(u){u.stopPropagation();e.apply(t||this,arguments)}},stopAll:function(e,t){return function(u){u.preventDefault();u.stopPropagation();e.apply(t||this,arguments)}},bind:function(e,t){var u=i(e.element?e.element:e);i.each(t,function(v){if(i.isFunction(this)){u.bind(v,this)}})},preventDefault:function(t){t.preventDefault()},hover:function(){i(this).addClass("t-state-hover")},leave:function(){i(this).removeClass("t-state-hover")},buttonHover:function(){i(this).addClass("t-button-hover")},buttonLeave:function(){i(this).removeClass("t-button-hover")},stringBuilder:function(){this.buffer=[]},ajaxError:function(v,u,e,w){var t=this.trigger(v,u,{XMLHttpRequest:e,textStatus:w});if(!t){if(w=="error"&&e.status!="0"){alert("Error! The requested URL returned "+e.status+" - "+e.statusText)}if(w=="timeout"){alert("Error! Server timeout.")}}return t},trigger:function(u,t,v){v=i.extend(v||{},new i.Event(t));v.stopPropagation();i(u).trigger(v);return v.isDefaultPrevented()},getType:function(e){if(e instanceof Date){return"date"}if(!isNaN(e)){return"number"}return"object"},formatString:function(){var w=arguments[0];for(var e=0,t=arguments.length-1;e-1;v--){if(e.substr(v,u)==t){return v}}return -1},caretPos:function(e){var t=-1;if(document.selection){t=Math.abs(e.document.selection.createRange().moveStart("character",-e.value.length))}else{if(e.selectionStart!==undefined){t=e.selectionStart}}return t},encode:function(e){return e.replace(/&/g,"&").replace(//g,">").replace(/\u00a0/g," ")},formatters:{},fx:{},cultureInfo:{days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbrDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],abbrMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],longTime:"h:mm:ss tt",longDate:"dddd, MMMM dd, yyyy",shortDate:"M/d/yyyy",shortTime:"h:mm tt",fullDateTime:"dddd, MMMM dd, yyyy h:mm:ss tt",generalDateShortTime:"M/d/yyyy h:mm tt",generalDateTime:"M/d/yyyy h:mm:ss tt",sortableDateTime:"yyyy'-'MM'-'ddTHH':'mm':'ss",universalSortableDateTime:"yyyy'-'MM'-'dd HH':'mm':'ss'Z'",monthYear:"MMMM, yyyy",monthDay:"MMMM dd",today:"today",tomorrow:"tomorrow",yesterday:"yesterday",next:"next",last:"last",year:"year",month:"month",week:"week",day:"day",am:"AM",pm:"PM",dateSeparator:"/",timeSeparator:":",firstDayOfWeek:0}};var a,o;if(Array.prototype.filter!==undefined){a=function(e,t){return e.filter(t)}}else{a=function(x,u){var w=[],v=x.length;for(var t=0;tv?1:(uv?-1:0)}))},concat:function(e){return r(this.data.concat(e.data))},count:function(){return this.data.length},any:function(e){if(i.isFunction(e)){for(var t=0,u=this.data.length;t
    ').string()).addClass("t-popup t-group").hide()};n.dropDown.prototype={_html:function(w){var u=new n.stringBuilder();if(w){for(var t=0,x=w.length;t').cat(z.html).cat("")}}return u.string()},open:function(e){if(this.onOpen){this.onOpen()}if(this.isOpened()||!this.$items){return}var w=this.$element,u=".t-reset > .t-item";w.appendTo(document.body);var t;if(w[0].style.width==""){t=e.outerWidth?e.outerWidth-2:0}else{t=parseInt(this.attr?i("
    ")[0].style.width:w[0].style.width)}w.css("overflowY","auto").css("width",t);w.delegate(u,"mouseenter",n.hover).delegate(u,"mouseleave",n.leave).delegate(u,"click",i.proxy(function(x){if(this.onClick){this.onClick(i.extend(x,{item:i(x.target).closest(".t-item")[0]}))}},this));var v=e.offset;v.top+=e.outerHeight;n.fx._wrap(w).css(i.extend({position:"absolute",zIndex:e.zIndex},v));if(d){w.css("overflow","hidden")}n.fx.play(this.effects,w,{direction:"bottom"},i.proxy(function(){if(d){w.css("overflow","auto")}var x=this.$items.filter(".t-state-selected");if(x.length){this.scrollTo(x[0])}},this))},close:function(){if(!this.isOpened()){return}var e=this.$element;if(d){e.css("overflow","hidden")}n.fx.rewind(this.effects,e,{direction:"bottom"},function(){if(d){e.css("overflow","auto")}e.parent().remove()})},dataBind:function(t){t=t||[];var w=this.$element;var v=w[0].style.height;var u=v&&v!="auto"?w[0].style.height:"200px";var e=this.$items=i(this._html(t));w.find("> ul").html(e);w.css("height",e.length>10?u:"auto")},highlight:function(e){return i(e).addClass("t-state-selected").siblings().removeClass("t-state-selected").end().index()},isOpened:function(){return this.$element.is(":visible")},scrollTo:function(y){if(!y){return}var e=y.offsetTop;var w=y.offsetHeight;var t=this.$element[0];var u=t.scrollTop;var x=t.clientHeight;var v=e+w;t.scrollTop=u>e?e:v>(u+x)?v-x:u}};n.datetime=function(){if(arguments.length==0){this.value=new Date()}else{if(arguments.length==1){this.value=new Date(arguments[0])}else{if(arguments.length==3){this.value=new Date(arguments[0],arguments[1],arguments[2])}else{if(arguments.length==6){this.value=new Date(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5])}else{this.value=new Date(arguments[0],arguments[1],arguments[2],arguments[3],arguments[4],arguments[5],arguments[6])}}}}return this};i.extend(n.datetime,{msPerMinute:60000,msPerDay:86400000,add:function(w,t){var u=w.timeOffset();var v=new n.datetime(w.time()+t);var e=v.timeOffset()-u;return new n.datetime(v.time()+e*n.datetime.msPerMinute)},subtract:function(v,u){u=new n.datetime(u).toDate();var e=v.time()-u;var t=v.timeOffset()-u.timeOffset();return e-(t*n.datetime.msPerMinute)},firstDayOfMonth:function(e){return new n.datetime(0).hours(e.hours()).minutes(e.minutes()).seconds(e.seconds()).milliseconds(e.milliseconds()).year(e.year(),e.month(),1)},firstVisibleDay:function(u){var e=n.cultureInfo.firstDayOfWeek;var t=new n.datetime(u.year(),u.month(),0,u.hours(),u.minutes(),u.seconds(),u.milliseconds());while(t.day()!=e){n.datetime.modify(t,-1*n.datetime.msPerDay)}return t},modify:function(w,e){var u=w.timeOffset();var t=new n.datetime(w.time()+e);var v=t.timeOffset()-u;w.time(t.time()+v*n.datetime.msPerMinute)},pad:function(e){if(e<10){return"0"+e}return e},standardFormat:function(e){var t=n.cultureInfo;var u={d:t.shortDate,D:t.longDate,F:t.fullDateTime,g:t.generalDateShortTime,G:t.generalDateTime,m:t.monthDay,M:t.monthDay,s:t.sortableDateTime,t:t.shortTime,T:t.longTime,u:t.universalSortableDateTime,y:t.monthYear,Y:t.monthYear};return u[e]},format:function(E,e){var z=n.cultureInfo;var C=E.getDate();var t=E.getDay();var B=E.getMonth();var u=E.getFullYear();var x=E.getHours();var w=E.getMinutes();var v=E.getSeconds();var D=E.getMilliseconds();var A=n.datetime.pad;var F={d:C,dd:A(C),ddd:z.abbrDays[t],dddd:z.days[t],M:B+1,MM:A(B+1),MMM:z.abbrMonths[B],MMMM:z.months[B],yy:A(u%100),yyyy:u,h:x%12||12,hh:A(x%12||12),H:x,HH:A(x),m:w,mm:A(w),s:v,ss:A(v),f:Math.floor(D/100),ff:Math.floor(D/10),fff:D,tt:x<12?z.am:z.pm};e=e||"G";e=n.datetime.standardFormat(e)?n.datetime.standardFormat(e):e;return e.replace(s,function(y){return y in F?F[y]:y.slice(1,y.length-1)})},parse:function(u){var e=u.value;var t=u.format;if(e&&e.value){return e}t=n.datetime.standardFormat(t)?n.datetime.standardFormat(t):t;if(q.test(e)){return n.datetime.parseMachineDate({value:e,format:t,shortYearCutOff:u.shortYearCutOff,baseDate:u.baseDate,AM:n.cultureInfo.am,PM:n.cultureInfo.pm})}return n.datetime.parseByToken?n.datetime.parseByToken(e,u.today):null},parseMachineDate:function(H){var V=H.AM,O=H.PM,v=H.value,y=H.format,e=H.baseDate,R=H.shortYearCutOff||30,C=-1,L=-1,D=-1,u=0,B=0,F=0,E=0,T,P,z=false,I=function(W){return(G+10?V:"a";O=N>0?O:"p";var x=v.substr(M).toLowerCase();T=x.indexOf(V.toLowerCase())!=-1;P=x.indexOf(O.toLowerCase())!=-1;M+=P?O.length:T?V.length:0;break;case"'":Q();z=true;break;default:Q()}}}var K=new n.datetime();if(C!=-1&&C<100){C+=K.year()-K.year()%100+(C<=R?0:-100)}u=(P&&u<12)?u+12:u==12&&T?0:u;if(e==undefined){if(C==-1){C=K.year()}K=new n.datetime(C,L-1,D,u,B,F,E);if(K.year()!=C||K.month()!=(L-1)||K.date()!=D){return null}}else{K=e.year(C!=-1?C:e.year()).month(L!=-1?L-1:e.month()).date(D!=-1?D:e.date()).hours(u).minutes(B).seconds(F).milliseconds(E);if((C!=-1&&K.year()!=C)||(L!=-1&&K.month()!=(L-1))||(D!=-1&&K.date()!=D)||(u!=-1&&K.hours()!=u)||(B!=-1&&K.minutes()!=B)||(F!=-1&&K.seconds()!=F)||(E!=-1&&K.milliseconds()!=E)){return null}}return K}});n.datetime.prototype={year:function(){if(arguments.length==0){return this.value.getFullYear()}else{if(arguments.length==1){this.value.setFullYear(arguments[0])}else{this.value.setFullYear(arguments[0],arguments[1],arguments[2])}}return this},timeOffset:function(){return this.value.getTimezoneOffset()},day:function(){return this.value.getDay()},toDate:function(){return this.value},addMonth:function(e){this.month(this.month()+e)},addYear:function(e){this.year(this.year()+e)}};i.each(["Month","Date","Hours","Minutes","Seconds","Milliseconds","Time"],function(e,t){n.datetime.prototype[t.toLowerCase()]=function(){if(arguments.length==1){this.value["set"+t](arguments[0])}else{return this.value["get"+t]()}return this}});n.stringBuilder.prototype={cat:function(e){this.buffer.push(e);return this},rep:function(t,e){for(var u=0;u');this._verticalScrollbar=this._horizontalScrollbar.clone();this._scrollbars=this._horizontalScrollbar.add(this._verticalScrollbar);this._startProxy=i.proxy(this._start,this);this._stopProxy=i.proxy(this._stop,this);this._dragProxy=i.proxy(this._drag,this);this._create()}function c(u){var t=u.originalEvent.changedTouches;if(t&&t.length<2){return{x:t[0].pageX,y:t[0].pageY}}return{x:u.pageX,y:u.pageY}}g.prototype={_create:function(){this.wrapper.css("overflow","hidden").bind(b,i.proxy(this._wait,this))},_wait:function(u){var t=c(u);this.start={x:t.x+this.wrapper.scrollLeft(),y:t.y+this.wrapper.scrollTop()};i(document).bind(m,this._startProxy).bind(p,this._stopProxy)},_start:function(w){w.preventDefault();var t=c(w);if(this.start.x-t.x>10||this.start.y-t.y>10){i(document).unbind(m,this._startProxy).bind(m,this._dragProxy);var u=this.wrapper.innerWidth(),v=this.wrapper.innerHeight();offset=this.wrapper.offset(),scrollWidth=this.wrapper.attr("scrollWidth"),scrollHeight=this.wrapper.attr("scrollHeight");if(scrollWidth>u){this._horizontalScrollbar.appendTo(document.body).css({width:Math.floor((u/scrollWidth)*u),left:this.wrapper.scrollLeft()+offset.left+parseInt(this.wrapper.css("borderLeftWidth")),top:offset.top+this.wrapper.innerHeight()+parseInt(this.wrapper.css("borderTopWidth"))-this._horizontalScrollbar.outerHeight()})}if(scrollHeight>v){this._verticalScrollbar.appendTo(document.body).css({height:Math.floor((v/scrollHeight)*v),top:this.wrapper.scrollTop()+offset.top+parseInt(this.wrapper.css("borderTopWidth")),left:offset.left+this.wrapper.innerWidth()+parseInt(this.wrapper.css("borderLeftWidth"))-this._verticalScrollbar.outerWidth()})}this._scrollbars.stop().fadeTo(200,0.5)}},_drag:function(A){A.preventDefault();var B=c(A),y=this.wrapper.offset(),v=y.left+parseInt(this.wrapper.css("borderLeftWidth")),w=y.top+parseInt(this.wrapper.css("borderTopWidth")),u=this.start.x-B.x,t=this.start.y-B.y,x=Math.max(v,v+u),z=Math.max(w,w+t);x=Math.min(v+this.wrapper.innerWidth()-this._horizontalScrollbar.outerWidth()-this._horizontalScrollbar.outerHeight(),x);z=Math.min(w+this.wrapper.innerHeight()-this._verticalScrollbar.outerHeight()-this._verticalScrollbar.outerWidth(),z);this._horizontalScrollbar.css("left",x);this._verticalScrollbar.css("top",z);this.wrapper.scrollLeft(u).scrollTop(t)},_stop:function(t){i(document).unbind(m,this._startProxy).unbind(m,this._dragProxy).unbind(p,this._stopProxy);this._scrollbars.stop().fadeTo(400,0)}};var j=function(u,e,t){if(e.length==0&&t){t();return null}var v=u.list.length;return function(){if(--v==0&&t){t()}}};i.extend(n.fx,{_wrap:function(e){if(!e.parent().hasClass("t-animation-container")){e.wrap(i("
    ").addClass("t-animation-container").css({width:e.outerWidth(),height:e.outerHeight()}))}return e.parent()},play:function(w,x,u,e){var z=j(w,x,e);if(z===null){return}x.stop(false,true);for(var t=0,y=w.list.length;t=0;t--){var v=x.data("effect-"+t)||new n.fx[w.list[t].name](x);v.rewind(i.extend(w.list[t],{openDuration:w.openDuration,closeDuration:w.closeDuration},u),y);x.data("effect-"+t,null)}}});n.fx.toggle=function(e){this.element=e.stop(false,true)};n.fx.toggle.prototype={play:function(e,t){this.element.show();if(t){t()}},rewind:function(e,t){this.element.hide();if(t){t()}}};n.fx.toggle.defaults=function(){return{list:[{name:"toggle"}]}};n.fx.slide=function(e){this.element=e;this.animationContainer=n.fx._wrap(e)};n.fx.slide.prototype={play:function(t,x){var e=this.animationContainer;this.element.css("display","block").stop();e.css({display:"block",overflow:"hidden"});var u=this.element.outerWidth();var z=this.element.outerHeight();var y=t.direction=="bottom"?"marginTop":"marginLeft";var v=t.direction=="bottom"?-z:-u;e.css({width:u,height:z});var w={};w[y]=0;this.element.css("width",this.element.width()).each(function(){this.style.cssText=this.style.cssText}).css(y,v).animate(w,{queue:false,duration:t.openDuration,easing:"linear",complete:function(){e.css("overflow","");if(x){x()}}})},rewind:function(u,t){var v=this.animationContainer;this.element.stop();v.css({overflow:"hidden"});var e;switch(u.direction){case"bottom":e={marginTop:-this.element.outerHeight()};break;case"right":e={marginLeft:-this.element.outerWidth()};break}this.element.animate(e,{queue:false,duration:u.closeDuration,easing:"linear",complete:function(){v.css({display:"none",overflow:""});if(t){t()}}})}};n.fx.slide.defaults=function(){return{list:[{name:"slide"}],openDuration:"fast",closeDuration:"fast"}};n.fx.property=function(e){this.element=e};n.fx.property.prototype={_animate:function(w,v,t,e){var x={overflow:"hidden"},y={},u=this.element;i.each(w,function(A,B){var z;switch(B){case"height":case"width":z=u[B]();break;case"opacity":z=1;break;default:z=u.css(B);break}x[B]=t?z:0;y[B]=t?0:z});u.css(x).show().animate(y,{queue:false,duration:v,easing:"linear",complete:function(){if(t){u.hide()}i.each(y,function(z){y[z]=""});u.css(i.extend({overflow:""},y));if(e){e()}}})},play:function(t,e){this._animate(t.properties,t.openDuration,false,e)},rewind:function(t,e){this._animate(t.properties,t.closeDuration,true,e)}};n.fx.property.defaults=function(){return{list:[{name:"property",properties:arguments}],openDuration:"fast",closeDuration:"fast"}};i(document).ready(function(){if(i.browser.msie&&typeof(Sys)!="undefined"&&typeof(Sys.Mvc)!="undefined"&&typeof(Sys.Mvc.FormContext)!="undefined"){var e=function(u,t){return i.grep(u.getElementsByTagName("*"),function(v){return v.name==t})};if(Sys.Mvc.FormContext){Sys.Mvc.FormContext.$F=Sys.Mvc.FormContext._getFormElementsWithName=e}}})})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datepicker.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datepicker.min.js new file mode 100644 index 0000000..31ca2c6 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datepicker.min.js @@ -0,0 +1 @@ +(function(d){var b=d.telerik;var a=null;b.datetime.parseByToken=function(g,i){if(g===null||g===""){return null}i=i||new b.datetime();var e=null;var m=null;var k=null;var n=0;var f=function(o){var p=null;if(o&&g.substring(n,n+o.length).toLowerCase()==o.toLowerCase()){p=o}return p};var j=function(){var o=null;d.each(["days","abbrDays","months","abbrMonths"],function(q,p){if(o!==null){return}d.each(b.cultureInfo[p],function(s,r){if(o!==null){return}o=f(r)});k=p});return o};var h=function(){var o;var p=function(r,s){i[s?"date":"month"](i[s?"date":"month"]()+(o!=0?((o+((o>0?1:-1)*r))%r):0)+(m?(e==b.cultureInfo.next?1:-1)*r:0))};var q=d.inArray(m||e,b.cultureInfo[k]);if(k.toLowerCase().indexOf("day")>-1){o=(q==0?7:q)-i.day();p(7,true)}else{o=q-i.month();p(12,false)}};var l=function(){var p=function(q){var r;switch(m){case"year":r=q==1?1:0;break;case"month":r=q==2?1:0;break;case"week":r=q==3?7:0;break;case"day":r=q==3?1:0;break}return r};var o=(e==b.cultureInfo.next?1:-1);i.year(i.year()+p(1)*o,i.month()+p(2)*o,i.date()+p(3)*o)};d.each(["today","tomorrow","yesterday","next","last"],function(p,o){if(e!==null){return}e=f(b.cultureInfo[o])});if(e!==null){n+=e.length;if(/[^\s\d]\s+[^\s\d]/i.test(g)){n++;d.each(["year","month","week","day"],function(p,o){if(m!==null){return}m=f(b.cultureInfo[o])});k=null;if(m===null){m=j()}if(m===null){return null}}else{switch(e){case b.cultureInfo.today:break;case b.cultureInfo.tomorrow:i.date(i.date()+1);break;case b.cultureInfo.yesterday:i.date(i.date()-1);break;default:i=null;break}return i}}else{e=j();if(e!=null){h();return i}else{return null}}if(k!==null){h()}else{l()}return i};function c(h,g,f,e){if(g){h=new Date(g)}if(f>h){h=new Date(f)}else{if(e').prependTo(a).height(a.height())}}return a},_getCalendar:function(){return a.data("tCalendar")},_reassignSharedCalendar:function(){var e=this._getCalendar();if(a.data("associatedDateView")!=this){a.stop(true,true);this.focusedValue=c(this.focusedValue,this.selectedValue,this.minValue,this.maxValue);e.minDate=this.minValue;e.maxDate=this.maxValue;e.selectedValue=this.selectedValue;e.goToView(0,this.focusedValue);a.unbind("change").bind("change",d.proxy(function(h){var g=this.selectedValue;var f=new b.datetime(h.date);if(g!==null){f.hours(g.getHours()).minutes(g.getMinutes()).seconds(g.getSeconds()).milliseconds(g.getMilliseconds())}this.onChange(f.toDate())},this)).unbind("navigate").bind("navigate",d.proxy(function(i){var h=this.focusedValue;var f=e.viewedMonth;var g=e.currentView.index;h.setFullYear(f.year(),f.month(),h.getDate());b.calendar.focusDate(h,g,a,i.direction)},this)).data("associatedDateView",this);if(this.selectedValue){e.value(this.selectedValue)}b.calendar.focusDate(this.focusedValue,e.currentView.index,a)}},open:function(e){if(this.isOpened()){return}this._reassignSharedCalendar();var i=this.isRtl;var h=this.$calendar;elementPosition=e.offset;elementPosition.top+=e.outerHeight;if(i){elementPosition.left-=(a.outerWidth()||a.parent().outerWidth())-e.outerWidth}b.fx._wrap(a).css(d.extend({position:"absolute",direction:i?"rtl":"",display:a.is(":visible")?"":"none"},elementPosition));var f=this._getCalendar();var g=f.currentView.index;if(!a.is(":visible")&&f.viewedMonth.value-this.focusedValue!=0){f.goToView(g,this.focusedValue).value(this.selectedValue)}b.calendar.focusDate(this.focusedValue,f.currentView.index,a);b.fx._wrap(h).css("zIndex",e.zIndex).show();b.fx.play(this.effects,h,{direction:"bottom"})},close:function(){if(this.isOpened()){b.fx.rewind(this.effects,this.$calendar,{direction:"bottom"},function(){if(a){b.fx._wrap(a).hide()}})}},isOpened:function(){return a&&a.data("associatedDateView")==this&&a.is(":visible")},value:function(e){if(e===undefined){return this.selectedValue}var g=e===null;var f=this._getCalendar();if(!g){e=e.value?new Date(e.value):e}f.value(e);this.selectedValue=e;if(g){e=new Date()}this.focusedValue=new Date(e);b.calendar.focusDate(e,f.currentView.index,a)},navigate:function(p){if(this.isOpened()&&d(".t-overlay",a).length>0){return}var m;var k=false;var o=this.$calendar;var l=this._getCalendar();var n=l.viewedMonth;var h=l.currentView;var f=h.index;var q=new b.datetime(this.focusedValue);var r=function(e,t,s){if(!d(e,o).hasClass("t-state-disabled")){if("navigateUp"==t){f+=1}m=s||false;l[t]();return true}else{return false}};var g=function(){var e=b.calendar.findTarget(q,f,o,false)[0];l.navigateDown(p,e,f);f=f==0?0:f-1;m=true};var i=function(e,u,s){var t=!s?-1:1;if(!r(e,u,s)){return false}if(f==0){q.addMonth(t)}else{q.addYear(t*(f==1?1:f==2?10:100))}return true};var j=b.datepicker.adjustDate;if(o.is(":visible")&&!p.shiftKey){k=true;switch(p.keyCode){case 37:if(p.ctrlKey){if(!i(".t-nav-prev","navigateToPast")){return}}else{j(f,q,-1,-1);if(h.navCheck(q,n,false)){if(!r(".t-nav-prev","navigateToPast")){return}}}break;case 38:if(p.ctrlKey){r(".t-nav-fast","navigateUp")}else{j(f,q,-7,-4);if(h.navCheck(q,n,false)){if(!r(".t-nav-prev","navigateToPast")){return}}}break;case 39:if(p.ctrlKey){if(!i(".t-nav-next","navigateToFuture",true)){return}}else{j(f,q,1,1);if(h.navCheck(q,n,true)){if(!r(".t-nav-next","navigateToFuture",true)){return}}}break;case 40:if(p.ctrlKey){g()}else{j(f,q,7,4);if(h.navCheck(q,n,true)){if(!r(".t-nav-next","navigateToFuture",true)){return}}}break;case 33:if(!i(".t-nav-prev","navigateToPast")){return}break;case 34:if(!i(".t-nav-next","navigateToFuture",true)){return}break;case 35:q=b.calendar.views[f].firstLastDay(q,false,l);break;case 36:q=b.calendar.views[f].firstLastDay(q,true,l);break;case 13:p.stopPropagation();if(f==0){this.onChange(this.focusedValue)}else{g()}break;default:k=false;break}}if(k){p.preventDefault();q=b.calendar.fitDateToRange(q,new b.datetime(this.minValue),new b.datetime(this.maxValue));b.calendar.focusDate(q.toDate(),f,o,m);this.focusedValue=q.toDate()}}};d.each(["min","max"],d.proxy(function(f,e){b.dateView.prototype[e]=function(h){var g=e+"Value";if(h===undefined){return this[g]}this[g]=new Date(h.value?h.value:h);a.data("associatedDateView",null);this._reassignSharedCalendar()}},this));b.datepicker=function(f,g){d.extend(this,g);if(f.nodeName.toLowerCase()!=="input"&&f.type.toLowerCase()!=="text"){throw"Target element is not a INPUT"}this.element=f;var h=this.$element=d(f).addClass("t-input").attr("autocomplete","off").bind({keydown:d.proxy(this._keydown,this),focus:d.proxy(function(l){if(this.openOnFocus){this._open()}this.$element.removeClass("t-state-error")},this)});if(!h.parent().hasClass("t-picker-wrap")){h.wrap('
    ');if(g.showButton){var k=new b.stringBuilder(),i=g.buttonTitle;d(k.cat('').cat('').string()).insertAfter(h)}}this.dateView=new b.dateView({selectedValue:this.selectedValue,minValue:this.minValue,maxValue:this.maxValue,effects:this.effects,isRtl:h.closest(".t-rtl").length,onChange:d.proxy(function(l){this._update(l);this._close()},this)});this.inputValue=h.val();var e=this.selectedValue||this.inputValue;if(e){this._value(this.parse(e))}var j=this.enabled?d.proxy(this._togglePopup,this):b.preventDefault;this.$wrapper=h.closest(".t-datepicker").find(".t-icon").bind("click",j).end();d(document.documentElement).bind("mousedown",d.proxy(function(n){var l=this.$element.val();if(l!=this.inputValue){this._update(l)}if(!a){return}var m=a.data("associatedDateView");if(!m||m!=this.dateView){return}if(!d.contains(this.$wrapper[0],n.target)&&!d.contains(a[0],n.target)){this._close()}},this));b.bind(this,{open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})};b.datepicker.prototype={_togglePopup:function(){if(this.dateView.isOpened()){this._close()}else{this.element.focus();this._open()}},_close:function(){if(!a.is(":animated")&&this.dateView.isOpened()){this._trigger("close")}},_open:function(){if(!this.dateView.isOpened()){this._trigger("open")}},_trigger:function(e){if(!b.trigger(this.element,e)){this[e]()}},_update:function(g){g=this.parse(g);if(g!=null){if(g-this.minValue<=0){g=this.minValue}else{if(g-this.maxValue>=0){g=this.maxValue}}}var h=this.selectedValue,f=h?b.datetime.format(h,this.format):"",e=g?b.datetime.format(g,this.format):"";if(e!=f){var i={previousValue:h,value:g,previousDate:h,date:g};if(b.trigger(this.element,"valueChange",i)){g=new Date(h)}}this._value(g)},_keydown:function(g){var f=g.keyCode;if(f==9||(f==13&&this.inputValue!=this.$element.val())){this._update(this.$element.val());this._close()}else{if(f==27){this._close()}else{if(g.altKey){if(f==40){this._open()}else{if(f==38){this._close()}}}else{this.dateView.navigate(g)}}}},enable:function(){this.$element.attr("disabled",false);this.$wrapper.removeClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",d.proxy(this._togglePopup,this))},disable:function(f){this.$element.attr("disabled",true);this.$wrapper.addClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",b.preventDefault)},_value:function(e){var g=this.$element.val();var f=e===null;this.selectedValue=e;this.dateView.value(e);if(!f){g=b.datetime.format(e,this.format)}this.inputValue=g;this.$element.toggleClass("t-state-error",f&&g!="").val(g)},value:function(e){if(e===undefined){return this.selectedValue}var f=this.parse(e);f=b.datepicker.isInRange(f,this.minValue,this.maxValue)?f:null;if(f===null){this.$element.removeClass("t-state-error").val("")}this._value(f);return this},showPopup:function(){this.open()},hidePopup:function(){this.close()},open:function(){var e=this.$element;this.dateView.open({offset:e.offset(),outerHeight:e.outerHeight(),outerWidth:e.outerWidth(),zIndex:b.getElementZIndex(e[0])})},close:function(){this.dateView.close()},parse:function(e,g){if(e===null||e.getDate){return e}var f=b.datetime.parse({value:e,format:g||this.format,shortYearCutOff:this.shortYearCutOff});return f!=null?f.toDate():null}};d.each(["min","max"],d.proxy(function(f,e){b.datepicker.prototype[e]=function(g){var i=e+"Value";if(g===undefined){return this[i]}var j=this.parse(g);if(j!==null){var h=this[i];this[i]=j;if(this.minValue>this.maxValue){this[i]=h;return}this.dateView[e](j);if(!b.datepicker.isInRange(this.selectedValue,this.minValue,this.maxValue)){this.value(j)}}}},this));d.extend(b.datepicker,{adjustDate:function(e,h,g,f){if(e==0){b.datetime.modify(h,b.datetime.msPerDay*g)}else{if(e==1){h.addMonth(f)}else{h.addYear((e==2?f:10*f))}}},isInRange:function(g,e,f){if(!g){return false}return e-g<=0&&f-g>=0}});d.fn.tDatePicker=function(e){return b.create(this,{name:"tDatePicker",init:function(f,g){return new b.datepicker(f,g)},options:e})};d.fn.tDatePicker.defaults={effects:b.fx.slide.defaults(),selectedValue:null,format:b.cultureInfo.shortDate,minValue:new Date(1899,11,31),maxValue:new Date(2100,0,1),shortYearCutOff:30,showButton:true,buttonTitle:"Open the calendar",enabled:true,openOnFocus:false}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datetimepicker.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datetimepicker.min.js new file mode 100644 index 0000000..0ef928f --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.datetimepicker.min.js @@ -0,0 +1 @@ +(function(c){var b=c.telerik;function a(e,f){var d=new b.stringBuilder();return d.cat('').string()}b.datetimepicker=function(f,g){c.extend(this,g);if(f.nodeName.toLowerCase()!=="input"&&f.type.toLowerCase()!=="text"){throw"Target element is not a INPUT"}this.element=f;var h=this.$element=c(f).addClass("t-input").attr("autocomplete","off").bind({keydown:c.proxy(this._keydown,this),focus:c.proxy(function(i){this.$element.removeClass("t-state-error")},this)});if(!h.parent().hasClass("t-picker-wrap")){h.wrap('
    ');if(g.showCalendarButton||g.showTimeButton){c(new b.stringBuilder().cat('').catIf(a("calendar",g.calendarButtonTitle),g.showCalendarButton).cat(a("clock",g.timeButtonTitle),g.showTimeButton).cat("").string()).insertAfter(h)}}this.$wrapper=h.closest(".t-datetimepicker").find(".t-icon-clock").bind("click",this.enabled?c.proxy(this._toggleTimeView,this):b.preventDefault).end().find(".t-icon-calendar").bind("click",this.enabled?c.proxy(this._toggleDateView,this):b.preventDefault).end();this.timeView=new b.timeView({effects:this.effects,dropDownAttr:this.dropDownAttr,format:this.timeFormat,interval:this.interval,isRtl:h.closest(".t-rtl").length,minValue:this.startTimeValue,maxValue:this.endTimeValue,onNavigateWithOpenPopup:c.proxy(function(j){var i=this.parse(j,this.timeFormat);this.$element.val(b.datetime.format(i,this.format))},this),onChange:c.proxy(function(i){this._update(this.parse(i,this.timeFormat));this._close("time")},this)});this.dateView=new b.dateView({selectedValue:this.selectedValue,minValue:this.minValue,maxValue:this.maxValue,effects:this.effects,isRtl:h.closest(".t-rtl").length,onChange:c.proxy(function(i){this._update(i);this._close("date")},this)});this.inputValue=h.val();var d=this.selectedValue||this.inputValue;if(d){var e=this.parse(d);this.dateView.selectedValue=e;this._value(this.parse(d))}c(document.documentElement).bind("mousedown",c.proxy(function(n){var l=this.$element.val();if(l!=this.inputValue){this._update(l)}var i=this.dateView.$calendar;if(!i){return}var m=this.timeView.dropDown.$element;var j=m&&m.parent().length>0;var o=i.data("associatedDateView");var k=n.target;if(c.contains(this.$wrapper[0],k)||(o&&o==this.dateView&&c.contains(i[0],k))||(j&&c.contains(m.parent()[0],k))){return}this._close("date");this._close("time")},this));b.bind(this,{open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})};b.datetimepicker.prototype={_update:function(f){f=this.parse(f);if(f!=null){if(f-this.minValue<=0){f=this.minValue}else{if(f-this.maxValue>=0){f=this.maxValue}}}var g=this.selectedValue,e=g?b.datetime.format(g,this.format):"",d=f?b.datetime.format(f,this.format):"";if(d!=e){var h={previousValue:g,value:f};if(b.trigger(this.element,"valueChange",h)){f=new Date(g)}}this._value(f)},_value:function(d){var h=this.$element.val();var g=d===null;var e=this.dateView;var f=e.$calendar.data("associatedDateView");this.selectedValue=d;this.timeView.value(g?null:b.datetime.format(d,this.timeFormat));if(f&&f==e){e.value(d)}if(!g){h=b.datetime.format(d,this.format)}this.inputValue=h;this.$element.toggleClass("t-state-error",g&&h!="").val(h)},_open:function(d){if(!this[d=="time"?"timeView":"dateView"].isOpened()){this._trigger(d,"open")}},_close:function(f){var d=this.dateView;var e=this.timeView.dropDown;if((f=="time"&&!e.$element.is(":animated")&&e.isOpened())||(!d.$calendar.is(":animated")&&d.isOpened())){this._trigger(f,"close")}},_trigger:function(d,e){if(!b.trigger(this.element,e,{popup:d})){this[e](d)}},_keydown:function(g){var f=g.keyCode,d=this.dateView.isOpened();if(f==9||f==27||(f==13&&this.inputValue!=this.$element.val())){this._update(this.$element.val());this._close("date");this._close("time");return}if(g.altKey){if(f==40){this._close(d?"date":"time");this._open(d?"time":"date")}else{if(f==38){this._close(d?"date":"time")}}return}if(d){this.dateView.navigate(g);return}if(this.timeView.isOpened()&&(f===38||f===40)){this.timeView.navigate(g);return}},_toggleDateView:function(){if(this.dateView.isOpened()){this._close("date")}else{this.element.focus();this._open("date");this._close("time")}},_toggleTimeView:function(){if(this.timeView.isOpened()){this._close("time")}else{this.element.focus();this._open("time");this._close("date")}},enable:function(){this.$element.attr("disabled",false);this.$wrapper.removeClass("t-state-disabled").find(".t-icon-clock").unbind("click").bind("click",c.proxy(this._toggleTimeView,this)).end().find(".t-icon-calendar").unbind("click").bind("click",c.proxy(this._toggleDateView,this))},disable:function(d){this.$element.attr("disabled",true);this.$wrapper.addClass("t-state-disabled").find(".t-icon").unbind("click").bind("click",b.preventDefault)},open:function(e){var f=this.$element;var d={offset:f.offset(),outerHeight:f.outerHeight(),outerWidth:f.outerWidth(),zIndex:b.getElementZIndex(f[0])};this[e=="time"?"timeView":"dateView"].open(d)},close:function(d){this[d=="time"?"timeView":"dateView"].close()},value:function(d){if(d===undefined){return this.selectedValue}var e=this.parse(d);e=b.datepicker.isInRange(e,this.minValue,this.maxValue)?e:null;if(e===null){this.$element.removeClass("t-state-error").val("")}this._value(e);return this},parse:function(d,f){if(d===null||d.getDate){return d}f=f||this.format;var e=b.datetime.parse({AM:b.cultureInfo.AM,PM:b.cultureInfo.PM,value:d,format:f,baseDate:this.selectedValue?new b.datetime(this.selectedValue):new b.datetime()});return e!=null?e.toDate():null}};c.each(["min","max"],c.proxy(function(e,d){b.datetimepicker.prototype[d]=function(f){var h=d+"Value";if(f===undefined){return this[h]}var i=this.parse(f);if(i!==null){var g=this[h];this[h]=i;if(this.minValue>this.maxValue){this[h]=g;return}this.dateView[d](i);if(!b.datepicker.isInRange(this.selectedValue,this.minValue,this.maxValue)){this.value(i)}}}},this));c.each(["startTime","endTime"],c.proxy(function(e,d){b.datetimepicker.prototype[d]=function(f){var g=d+"Value";if(f===undefined){return this[g]}var h=this.parse(f,b.cultureInfo.shortTime);if(h!==null){this[g]=h;d=="startTime"?this.timeView.min(h):this.timeView.max(h);if(!b.timeView.isInRange(this.selectedValue,this.minValue,this.maxValue)){this.value(h)}}}},this));c.fn.tDateTimePicker=function(d){c.fn.tDateTimePicker.defaults.timeFormat=b.cultureInfo.shortTime;return b.create(this,{name:"tDateTimePicker",init:function(e,f){return new b.datetimepicker(e,f)},options:d})};c.fn.tDateTimePicker.defaults={effects:b.fx.slide.defaults(),selectedValue:null,format:b.cultureInfo.generalDateShortTime,focusedDate:new b.datetime(),minValue:new Date(1899,11,31),maxValue:new Date(2100,0,1),startTimeValue:new b.datetime().hours(0).minutes(0).seconds(0).toDate(),endTimeValue:new b.datetime().hours(0).minutes(0).seconds(0).toDate(),calendarButtonTitle:"Open the calendar",timeButtonTitle:"Open the time view",showCalendarButton:true,showTimeButton:true,shortYearCutOff:30,enabled:true,interval:30}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.draganddrop.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.draganddrop.min.js new file mode 100644 index 0000000..c4174cc --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.draganddrop.min.js @@ -0,0 +1 @@ +(function(d){var g=d.telerik,b=function(){},c={},a={},f={scope:"default",drop:b,over:b,out:b,owner:document.body},e={distance:5,cursorAt:{left:10,top:10},scope:"default",start:b,drag:b,stop:b,destroy:b,owner:document.body,cue:function(){return d("")}};g.droppable=function(h){d.extend(this,f,h);d(this.owner).delegate(this.selector,"mouseenter",d.proxy(this._over,this)).delegate(this.selector,"mouseup",d.proxy(this._drop,this)).delegate(this.selector,"mouseleave",d.proxy(this._out,this))};g.droppable.prototype={_over:function(h){this._raise(h,this.over)},_out:function(h){this._raise(h,this.out)},_drop:function(h){this._raise(h,d.proxy(function(i){this.drop(i);i.destroy(i)},this))},_raise:function(j,i){var h=c[this.scope];if(h){i(d.extend(j,h,{$droppable:d(j.currentTarget)}))}}};g.dragCue=function(h){return d('
    ').html(h).prepend('').appendTo(document.body)};g.dragCueStatus=function(h,i){h.find(".t-drag-status").attr("className","t-icon t-drag-status").addClass(i)};g.draggable=function(h){d.extend(this,e,h);d(this.owner).delegate(this.selector,"mousedown",d.proxy(this._wait,this)).delegate(this.selector,"dragstart",g.preventDefault);this._startProxy=d.proxy(this._start,this);this._destroyProxy=d.proxy(this._destroy,this);this._stopProxy=d.proxy(this._stop,this);this._dragProxy=d.proxy(this._drag,this)};g.draggable.get=function(h){return c[h]};g.draggable.prototype={_raise:function(j,i){var h=c[this.scope];if(h){return i(d.extend(j,h))}},_wait:function(h){this.$target=d(h.currentTarget);this._startPosition={x:h.pageX,y:h.pageY};d(document).bind({mousemove:this._startProxy,mouseup:this._destroyProxy});d(document.documentElement).trigger("mousedown",h);return false},_start:function(l){var k=this._startPosition.x-l.pageX,j=this._startPosition.y-l.pageY;var i=Math.sqrt((k*k)+(j*j));if(i>=this.distance){var h=a[this.selector];if(!h){h=a[this.selector]=this.cue({$draggable:this.$target});d(document).unbind("mousemove",this._startProxy).unbind("mouseup",this._destroyProxy).bind({"mouseup keydown":this._stopProxy,mousemove:this._dragProxy,selectstart:false})}c[this.scope]={$cue:h.css({position:"absolute",left:l.pageX+this.cursorAt.left,top:l.pageY+this.cursorAt.top}),$draggable:this.$target,destroy:this._destroyProxy};if(this._raise(l,this.start)===false){this._destroy(l)}}},_drag:function(h){this._raise(h,this.drag);c[this.scope].$cue.css({left:h.pageX+this.cursorAt.left,top:h.pageY+this.cursorAt.top})},_stop:function(h){if(h.type=="mouseup"||h.keyCode==27){if(this._raise(h,this.stop)===false){this._destroy(h)}else{var i=c[this.scope];i.$cue.animate(i.$draggable.offset(),"fast",this._destroyProxy)}}},_destroy:function(h){d(document).unbind("mouseup keydown",this._stopProxy).unbind("mousemove",this._dragProxy).unbind("mousemove",this._startProxy).unbind("selectstart",false);this._raise(h,this.destroy);c[this.scope]=null;a[this.selector]=null}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.editor.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.editor.min.js new file mode 100644 index 0000000..cbbfbc3 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.editor.min.js @@ -0,0 +1 @@ +(function(s){var ar=s.telerik;function G(a2){var a1={};for(var a0=0;a08){g=function(a1){if(a1.nodeType==1&&a1.firstChild){var a0=a1.firstChild,a2=a0;while(a2=a2.nextSibling){if(a2.nodeType==3&&a0.nodeType==3){a2.nodeValue=a0.nodeValue+a2.nodeValue;D.remove(a0)}a0=a2}}}}function p(a0){var a1=0;while(a0=a0.previousSibling){a1++}return a1}function af(a0){return a0&&a0.nodeValue!==null&&a0.data!==null}function k(a0,a1){try{return !af(a0)&&(s.contains(a0,af(a1)?a1.parentNode:a1)||a1.parentNode==a0)}catch(a2){return false}}function z(a1,a0){return k(a1,a0)||a1==a0}function aB(a1,a0){if(k(a1,a0)){while(a0&&a0.parentNode!=a1){a0=a0.parentNode}}return a0}function aG(a0){return af(a0)?a0.length:a0.childNodes.length}function av(a0,a2){var a1=a0.cloneNode(false);a0.deleteData(a2,a0.length);a1.deleteData(0,a2);D.insertAfter(a1,a0)}function B(a1,a2){for(var a3 in a2){var a0=a1[a3];if(a3=="float"){a0=a1[s.support.cssFloat?"cssFloat":"styleFloat"]}if(typeof a0=="object"){if(!B(a0,a2[a3])){return false}}else{if(a0!=a2[a3]){return false}}}return true}var aD=/^\s+$/;var e=/rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)/i;var ah=("color,padding-left,padding-right,padding-top,padding-bottom,background-color,background-attachment,background-image,background-position,background-repeat,border-top-style,border-top-width,border-top-color,border-bottom-style,border-bottom-width,border-bottom-color,border-left-style,border-left-width,border-left-color,border-right-style,border-right-width,border-right-color,font-family,font-size,font-style,font-variant,font-weight,line-height").split(",");var D={blockParentOrBody:function(a0){return D.parentOfType(a0,H)||a0.ownerDocument.body},normalize:g,toHex:function(a0){var a1=e.exec(a0);if(!a1){return a0}return"#"+s.map(a1.slice(1),function(a2){return a2=parseInt(a2).toString(16),a2.length>1?a2:"0"+a2}).join("")},encode:function(a0){return a0.replace(/&/g,"&").replace(//g,">").replace(/\u00a0/g," ")},name:function(a0){return a0.nodeName.toLowerCase()},significantChildNodes:function(a0){return s.grep(a0.childNodes,function(a1){return a1.nodeType!=3||!D.isWhitespace(a1)})},lastTextNode:function(a1){if(a1.nodeType==3){return a1}var a0=null;for(var a2=a1.lastChild;a2;a2=a2.previousSibling){if(a0=D.lastTextNode(a2)){return a0}}return a0},is:function(a0,a1){return D.name(a0)==a1},isMarker:function(a0){return a0.className=="t-marker"},isWhitespace:function(a0){return aD.test(a0.nodeValue)},isBlock:function(a0){return N[D.name(a0)]},isEmpty:function(a0){return aL[D.name(a0)]},isInline:function(a0){return aT[D.name(a0)]},scrollTo:function(a0){a0.ownerDocument.body.scrollTop=s(af(a0)?a0.parentNode:a0).offset().top},insertAt:function(a1,a0,a2){a1.insertBefore(a0,a1.childNodes[a2]||null)},insertBefore:function(a0,a1){if(a1.parentNode){return a1.parentNode.insertBefore(a0,a1)}else{return a1}},insertAfter:function(a0,a1){return a1.parentNode.insertBefore(a0,a1.nextSibling)},remove:function(a0){a0.parentNode.removeChild(a0)},trim:function(a1){for(var a0=a1.childNodes.length-1;a0>=0;a0--){var a2=a1.childNodes[a0];if(af(a2)){if(a2.nodeValue.replace(/\ufeff/g,"").length==0){D.remove(a2)}if(D.isWhitespace(a2)){D.insertBefore(a2,a1)}}else{if(a2.className!="t-marker"){D.trim(a2);if(a2.childNodes.length==0&&!D.isEmpty(a2)){D.remove(a2)}}}}return a1},parentOfType:function(a0,a1){do{a0=a0.parentNode}while(a0&&!(D.ofType(a0,a1)));return a0},ofType:function(a0,a1){return s.inArray(D.name(a0),a1)>=0},changeTag:function(a4,a1){var a3=D.create(a4.ownerDocument,a1);var a7=a4.attributes;for(var a2=0;a2")},end:function(){a5.push("")}},b:{start:function(){a5.push("")},end:function(){a5.push("")}},i:{start:function(){a5.push("")},end:function(){a5.push("")}},u:{start:function(){a5.push('')},end:function(){a5.push("")}},font:{start:function(a8){a5.push('')},end:function(a6){a5.push("")}}};function a1(a7){var be=[],bm=a7.attributes,bj=s.trim;if(D.is(a7,"img")){var bp=a7.style.width,bf=a7.style.height,bd=s(a7);if(bp){bd.attr("width",parseInt(bp));D.unstyle(a7,{width:undefined})}if(bf){bd.attr("height",parseInt(bf));D.unstyle(a7,{height:undefined})}}for(var bc=0,bh=bm.length;bcbr.nodeName?1:bq.nodeName=0){a6=D.toHex(a6)}if(a8.indexOf("font-family")>=0){a6=a6.replace(K,"'")}a5.push(a8);a5.push(":");a5.push(a6);a5.push(";")}}}else{if(bo=="src"||bo=="href"){a5.push(a7.getAttribute(bo,2))}else{a5.push(M[bo]?bo:bi)}}a5.push('"')}}function a0(a6,a7){for(var a8=a6.firstChild;a8;a8=a8.nextSibling){a3(a8,a7)}}function a3(a9,ba){var bd=a9.nodeType;if(bd==1){if(a9.attributes._moz_dirty&&D.is(a9,"br")){return}var a7=D.name(a9);var bb=a4[a7];if(bb){bb.start(a9);a0(a9);bb.end(a9);return}a5.push("<");a5.push(a7);a1(a9);if(aL[a7]){a5.push(" />")}else{a5.push(">");a0(a9,ba||D.is(a9,"pre"));a5.push("")}}else{if(bd==3){var a6=a9.nodeValue;if(!ba&&s.support.leadingWhitespace){var bc=a9.parentNode;var a8=(D.isInline(bc)?bc:a9).previousSibling;if(!a8||a8.innerHTML==""||D.isBlock(a8)){a6=a6.replace(/^[\r\n\v\f\t ]+/,"")}a6=a6.replace(/ +/," ")}a5.push(D.encode(a6))}else{if(bd==4){a5.push("")}else{if(bd==8){if(a9.data.indexOf("[CDATA[")<0){a5.push("")}else{a5.push("")}}}}}}a0(a2);return a5.join("")}var v=0,aq=1,a=2,T=3;function q(a1){var a0=a1.startContainer;return a0.nodeType==9?a0:a0.ownerDocument}function E(a0){if(s.browser.msie){return new aw(a0.document)}return a0.getSelection()}function al(a1){var a0=q(a1);return aY(a0)}function aY(a0){return E(az(a0))}function az(a0){return a0.defaultView||a0.parentWindow}function am(a0,a1,a3){function a2(a6){var a4=a0.cloneRange();a4.collapse(a6);a4[a6?"setStartBefore":"setEndAfter"](a1);var a5=a4.extractContents();if(a3){a5=D.trim(a5)}D[a6?"insertBefore":"insertAfter"](a5,a1)}a2(true);a2(false)}function O(a1){var a2=U.image(a1);if(a2){a1.setStartAfter(a2);a1.setEndAfter(a2)}var a0=al(a1);a0.removeAllRanges();a0.addRange(a1)}function L(a0){s.extend(this,{ownerDocument:a0,startContainer:a0,endContainer:a0,commonAncestorContainer:a0,startOffset:0,endOffset:0,collapsed:true})}L.prototype={setStart:function(a0,a1){this.startContainer=a0;this.startOffset=a1;w(this);u(this,true)},setEnd:function(a0,a1){this.endContainer=a0;this.endOffset=a1;w(this);u(this,false)},setStartBefore:function(a0){this.setStart(a0.parentNode,p(a0))},setStartAfter:function(a0){this.setStart(a0.parentNode,p(a0)+1)},setEndBefore:function(a0){this.setEnd(a0.parentNode,p(a0))},setEndAfter:function(a0){this.setEnd(a0.parentNode,p(a0)+1)},selectNode:function(a0){this.setStartBefore(a0);this.setEndAfter(a0)},selectNodeContents:function(a0){this.setStart(a0,0);this.setEnd(a0,a0[a0.nodeType===1?"childNodes":"nodeValue"].length)},collapse:function(a0){if(a0){this.setEnd(this.startContainer,this.startOffset)}else{this.setStart(this.endContainer,this.endOffset)}},deleteContents:function(){var a1=this.cloneRange();if(this.startContainer!=this.commonAncestorContainer){this.setStartAfter(aB(this.commonAncestorContainer,this.startContainer))}this.collapse(true);(function a0(a2){while(a2.next()){a2.hasPartialSubtree()?a0(a2.getSubtreeIterator()):a2.remove()}})(new l(a1))},cloneContents:function(){var a0=q(this);return(function a1(a4){for(var a3,a2=a0.createDocumentFragment();a3=a4.next();){a3=a3.cloneNode(!a4.hasPartialSubtree());if(a4.hasPartialSubtree()){a3.appendChild(a1(a4.getSubtreeIterator()))}a2.appendChild(a3)}return a2})(new l(this))},extractContents:function(){var a1=this.cloneRange();if(this.startContainer!=this.commonAncestorContainer){this.setStartAfter(aB(this.commonAncestorContainer,this.startContainer))}this.collapse(true);var a2=this;var a0=q(this);return(function a3(a6){for(var a5,a4=a0.createDocumentFragment();a5=a6.next();){a6.hasPartialSubtree()?a5=a5.cloneNode(false):a6.remove(a2.originalRange);if(a6.hasPartialSubtree()){a5.appendChild(a3(a6.getSubtreeIterator()))}a4.appendChild(a5)}return a4})(new l(a1))},insertNode:function(a0){if(af(this.startContainer)){if(this.startOffset!=this.startContainer.nodeValue.length){av(this.startContainer,this.startOffset)}D.insertAfter(a0,this.startContainer)}else{D.insertAt(this.startContainer,a0,this.startOffset)}this.setStart(this.startContainer,this.startOffset)},cloneRange:function(){return s.extend(new L(this.ownerDocument),{startContainer:this.startContainer,endContainer:this.endContainer,commonAncestorContainer:this.commonAncestorContainer,startOffset:this.startOffset,endOffset:this.endOffset,collapsed:this.collapsed,originalRange:this})},toString:function(){var a1=this.startContainer.nodeName,a0=this.endContainer.nodeName;return[a1=="#text"?this.startContainer.nodeValue:a1,"(",this.startOffset,") : ",a0=="#text"?this.endContainer.nodeValue:a0,"(",this.endOffset,")"].join("")}};function m(a2,a0,a7,a4){if(a2==a0){return a4-a7}var a6=a0;while(a6&&a6.parentNode!=a2){a6=a6.parentNode}if(a6){return p(a6)-a7}a6=a2;while(a6&&a6.parentNode!=a0){a6=a6.parentNode}if(a6){return a4-p(a6)-1}var a5=D.commonAncestor(a2,a0);var a3=a2;while(a3&&a3.parentNode!=a5){a3=a3.parentNode}if(!a3){a3=a5}var a1=a0;while(a1&&a1.parentNode!=a5){a1=a1.parentNode}if(!a1){a1=a5}if(a3==a1){return 0}return p(a1)-p(a3)}function u(a1,a2){function a0(a4){try{return m(a4.startContainer,a4.endContainer,a4.startOffset,a4.endOffset)<0}catch(a3){return true}}if(a0(a1)){if(a2){a1.commonAncestorContainer=a1.endContainer=a1.startContainer;a1.endOffset=a1.startOffset}else{a1.commonAncestorContainer=a1.startContainer=a1.endContainer;a1.startOffset=a1.endOffset}a1.collapsed=true}}function w(a1){a1.collapsed=a1.startContainer==a1.endContainer&&a1.startOffset==a1.endOffset;var a0=a1.startContainer;while(a0&&a0!=a1.endContainer&&!k(a0,a1.endContainer)){a0=a0.parentNode}a1.commonAncestorContainer=a0}function aP(a0){if(s.browser.msie){return new L(a0)}return a0.createRange()}function l(a1){s.extend(this,{range:a1,_current:null,_next:null,_end:null});if(a1.collapsed){return}var a0=a1.commonAncestorContainer;this._next=a1.startContainer==a0&&!af(a1.startContainer)?a1.startContainer.childNodes[a1.startOffset]:aB(a0,a1.startContainer);this._end=a1.endContainer==a0&&!af(a1.endContainer)?a1.endContainer.childNodes[a1.endOffset]:aB(a0,a1.endContainer).nextSibling}l.prototype={hasNext:function(){return !!this._next},next:function(){var a0=this._current=this._next;this._next=this._current&&this._current.nextSibling!=this._end?this._current.nextSibling:null;if(af(this._current)){if(this.range.endContainer==this._current){(a0=a0.cloneNode(true)).deleteData(this.range.endOffset,a0.length-this.range.endOffset)}if(this.range.startContainer==this._current){(a0=a0.cloneNode(true)).deleteData(0,this.range.startOffset)}}return a0},traverse:function(a1){function a0(){this._current=this._next;this._next=this._current&&this._current.nextSibling!=this._end?this._current.nextSibling:null;return this._current}var a2;while(a2=a0.call(this)){if(this.hasPartialSubtree()){this.getSubtreeIterator().traverse(a1)}else{a1(a2)}}return a2},remove:function(a5){var a4=this.range.startContainer==this._current;var a2=this.range.endContainer==this._current;if(af(this._current)&&(a4||a2)){var a1=a4?this.range.startOffset:0;var a0=a2?this.range.endOffset:this._current.length;var a7=a0-a1;if(a5&&(a4||a2)){if(this._current==a5.startContainer&&a1<=a5.startOffset){a5.startOffset-=a7}if(this._current==a5.endContainer&&a0<=a5.endOffset){a5.endOffset-=a7}}this._current.deleteData(a1,a7)}else{var a6=this._current.parentNode;if(a5&&(this.range.startContainer==a6||this.range.endContainer==a6)){var a3=p(this._current);if(a6==a5.startContainer&&a3<=a5.startOffset){a5.startOffset-=1}if(a6==a5.endContainer&&a30&&a3.previousSibling);a6.setEndPoint(a0?"EndToStart":"EndToEnd",a5);var a4=a3.nextSibling;if(!a4){a4=a3.previousSibling;if(a4&&af(a4)){a1.setEnd(a4,a4.nodeValue.length);D.remove(a3)}else{a1.selectNodeContents(a2);D.remove(a3);a1.endOffset-=1}return}D.remove(a3);if(af(a4)){a1[a0?"setStart":"setEnd"](a4,a6.text.length)}else{a1[a0?"setStartBefore":"setEndBefore"](a4)}}function aj(a0){this.enumerate=function(){var a2=[];function a1(a3){if(D.is(a3,"img")||(a3.nodeType==3&&!D.isWhitespace(a3))){a2.push(a3)}else{a3=a3.firstChild;while(a3){a1(a3);a3=a3.nextSibling}}}new l(a0).traverse(a1);return a2}}function j(a0){return new aj(a0).enumerate()}function Z(a4){var a0=[];for(var a1=0,a3=a4.length;a1'}a2.selectNodeContents(a6)}}a2.collapse(true)};this.add=function(a1,a3){if(a3&&a1.collapsed){this.addCaret(a1);a1=U.expand(a1)}var a2=a1.cloneRange();a2.collapse(false);this.end=D.create(q(a1),"span",{className:"t-marker"});a2.insertNode(this.end);a2=a1.cloneRange();a2.collapse(true);this.start=this.end.cloneNode(true);a2.insertNode(this.start);a1.setStartBefore(this.start);a1.setEndAfter(this.end);g(a1.commonAncestorContainer);return a1};this.remove=function(a8){var a1=this.start,bd=this.end;g(a8.commonAncestorContainer);while(!a1.nextSibling&&a1.parentNode){a1=a1.parentNode}while(!bd.previousSibling&&bd.parentNode){bd=bd.parentNode}var a3=(a1.previousSibling&&a1.previousSibling.nodeType==3)&&(a1.nextSibling&&a1.nextSibling.nodeType==3);var a9=(bd.previousSibling&&bd.previousSibling.nodeType==3)&&(bd.nextSibling&&bd.nextSibling.nodeType==3);a1=a1.nextSibling;bd=bd.previousSibling;var bc=false;var a6=false;if(a1==this.end){a6=!!this.start.previousSibling;a1=bd=this.start.previousSibling||this.end.nextSibling;bc=true}D.remove(this.start);D.remove(this.end);if(a1==null||bd==null){a8.selectNodeContents(a8.commonAncestorContainer);a8.collapse(true);return}var bb=bc?af(a1)?a1.nodeValue.length:a1.childNodes.length:0;var a4=af(bd)?bd.nodeValue.length:bd.childNodes.length;if(a1.nodeType==3){while(a1.previousSibling&&a1.previousSibling.nodeType==3){a1=a1.previousSibling;bb+=a1.nodeValue.length}}if(bd.nodeType==3){while(bd.previousSibling&&bd.previousSibling.nodeType==3){bd=bd.previousSibling;a4+=bd.nodeValue.length}}var a7=p(a1),ba=a1.parentNode;var a5=p(bd),a2=bd.parentNode;for(var bf=a1;bf.previousSibling;bf=bf.previousSibling){if(bf.nodeType==3&&bf.previousSibling.nodeType==3){a7--}}for(var be=bd;be.previousSibling;be=be.previousSibling){if(be.nodeType==3&&be.previousSibling.nodeType==3){a5--}}g(ba);if(a1.nodeType==3){a1=ba.childNodes[a7]}g(a2);if(bd.nodeType==3){bd=a2.childNodes[a5]}if(bc){if(a1.nodeType==3){a8.setStart(a1,bb)}else{a8[a6?"setStartAfter":"setStartBefore"](a1)}a8.collapse(true)}else{if(a1.nodeType==3){a8.setStart(a1,bb)}else{a8.setStartBefore(a1)}if(bd.nodeType==3){a8.setEnd(bd,a4)}else{a8.setEndAfter(bd)}}if(a0){this.removeCaret(a8)}}}var at=/[\u0009-\u000d]|\u0020|\u00a0|\ufeff|\.|,|;|:|!|\(|\)|\?/;var U={nodes:function(a1){var a0=j(a1);if(!a0.length){a1.selectNodeContents(a1.commonAncestorContainer);a0=j(a1);if(!a0.length){a0=D.significantChildNodes(a1.commonAncestorContainer)}}return a0},image:function(a1){var a0=[];new l(a1).traverse(function(a2){if(D.is(a2,"img")){a0.push(a2)}});if(a0.length==1){return a0[0]}},expand:function(a1){var a2=a1.cloneRange();var a5=a2.startContainer.childNodes[a2.startOffset==0?0:a2.startOffset-1];var a6=a2.endContainer.childNodes[a2.endOffset];if(!af(a5)||!af(a6)){return a2}var a3=a5.nodeValue;var a4=a6.nodeValue;if(a3==""||a4==""){return a2}var a0=a3.split("").reverse().join("").search(at);var a7=a4.search(at);if(a0==0||a7==0){return a2}a7=a7==-1?a4.length:a7;a0=a0==-1?0:a3.length-a0;a2.setStart(a5,a0);a2.setEnd(a6,a7);return a2},isExpandable:function(a1){var a6=a1.startContainer;var a5=q(a1);if(a6==a5||a6==a5.body){return false}var a2=a1.cloneRange();var a0=a6.nodeValue;if(!a0){return false}var a3=a0.substring(0,a2.startOffset);var a4=a0.substring(a2.startOffset);var a7=0,a8=0;if(a3!=""){a7=a3.split("").reverse().join("").search(at)}if(a4!=""){a8=a4.search(at)}return a7!=0&&a8!=0}};function c(a1){var a2=new an(a1.range);var a0=new ac();this.formatter=a1.formatter;this.getRange=function(){return a2.toRange()};this.lockRange=function(a3){return a0.add(this.getRange(),a3)};this.releaseRange=function(a3){a0.remove(a3);O(a3)};this.undo=function(){a2.body.innerHTML=a2.html;O(a2.toRange())};this.redo=function(){this.exec()};this.exec=function(){var a3=this.lockRange(true);this.formatter.editor=this.editor;this.formatter.toggle(a3);this.releaseRange(a3)}}function aV(a2,a1){var a0=a2.body;this.redo=function(){a0.innerHTML=a1.html;O(a1.toRange())};this.undo=function(){a0.innerHTML=a2.html;O(a2.toRange())}}function t(a0){c.call(this,a0);this.managesUndoRedo=true;this.exec=function(){var a2=this.editor;var a1=a2.getRange();var a3=new an(a1);a2.clipboard.paste(a0.value||"");a2.undoRedoStack.push(new aV(a3,new an(a2.getRange())));a2.focus()}}function x(){X.call(this);this.command=function(a0){return new t(a0)};this.update=function(a0,a1){a0.data("tSelectBox").close()};this.init=function(a2,a0){var a1=a0.editor;a2.tSelectBox({data:a1.insertHtml,onItemCreate:function(a3){a3.html=''+a3.dataItem.Text+""},onChange:function(a3){X.exec(a1,"insertHtml",a3.value)},highlightFirst:false}).find(".t-input").html(a1.localization.insertHtml)}}function R(){var a1=[],a0=-1;this.push=function(a2){a1=a1.slice(0,a0+1);a0=a1.push(a2)-1};this.undo=function(){if(this.canUndo()){a1[a0--].undo()}};this.redo=function(){if(this.canRedo()){a1[++a0].redo()}};this.canUndo=function(){return a0>=0};this.canRedo=function(){return a0!=a1.length-1}}function aQ(a0){this.keydown=function(a4){var a3=a0.keyboard;var a1=a3.isTypingKey(a4);if(a1&&!a3.typingInProgress()){var a2=a0.getRange();this.startRestorePoint=new an(a2);a3.startTyping(s.proxy(function(){a0.selectionRestorePoint=this.endRestorePoint=new an(a0.getRange());a0.undoRedoStack.push(new aV(this.startRestorePoint,this.endRestorePoint))},this));return true}return false};this.keyup=function(a1){var a2=a0.keyboard;if(a2.typingInProgress()){a2.endTyping();return true}return false}}function A(a1){var a0=false;this.createUndoCommand=function(){this.endRestorePoint=new an(a1.getRange());a1.undoRedoStack.push(new aV(this.startRestorePoint,this.endRestorePoint));this.startRestorePoint=this.endRestorePoint};this.changed=function(){if(this.startRestorePoint){return this.startRestorePoint.html!=a1.body.innerHTML}return false};this.keydown=function(a2){var a3=a1.keyboard;if(a3.isModifierKey(a2)){if(a3.typingInProgress()){a3.endTyping(true)}this.startRestorePoint=new an(a1.getRange());return true}if(a3.isSystem(a2)){a0=true;if(this.changed()){a0=false;this.createUndoCommand()}return true}return false};this.keyup=function(a2){if(a0&&this.changed()){a0=false;this.createUndoCommand(a2);return true}return false}}function aH(a1){var a3=false;var a6;var a2;function a0(a7){return(a7>=48&&a7<=90)||(a7>=96&&a7<=111)||(a7>=186&&a7<=192)||(a7>=219&&a7<=222)}this.toolFromShortcut=function(a9,bb){var a8=String.fromCharCode(bb.keyCode);for(var ba in a9){var a7=a9[ba];if((a7.key==a8||a7.key==bb.keyCode)&&!!a7.ctrl==bb.ctrlKey&&!!a7.alt==bb.altKey&&!!a7.shift==bb.shiftKey){return ba}}};this.isTypingKey=function(a8){var a7=a8.keyCode;return(a0(a7)&&!a8.ctrlKey&&!a8.altKey)||a7==32||a7==13||a7==8||(a7==46&&!a8.shiftKey&&!a8.ctrlKey&&!a8.altKey)};this.isModifierKey=function(a8){var a7=a8.keyCode;return(a7==17&&!a8.shiftKey&&!a8.altKey)||(a7==16&&!a8.ctrlKey&&!a8.altKey)||(a7==18&&!a8.ctrlKey&&!a8.shiftKey)};this.isSystem=function(a7){return a7.keyCode==46&&a7.ctrlKey&&!a7.altKey&&!a7.shiftKey};this.startTyping=function(a7){a2=a7;a3=true};function a4(){a3=false;a2()}this.endTyping=function(a7){this.clearTimeout();if(a7){a4()}else{a6=window.setTimeout(a4,1000)}};this.typingInProgress=function(){return a3};this.clearTimeout=function(){window.clearTimeout(a6)};function a5(a9,a8){for(var a7=0;a7$/g,"li>");var a6=a0(a9);var a8=a4.getRange();a8.deleteContents();if(a8.startContainer==a4.document){a8.selectNodeContents(a4.body)}var ba=new ac();var bd=ba.addCaret(a8);var bc=a2(a6,bd);var bb=false;if(!/body|td/.test(D.name(bc))&&(a6||D.isInline(bc))){a8.selectNode(bd);am(a8,bc,true);bb=true}var be=a1(a9);a8.insertNode(be);bc=a2(a6,bd);if(bb){while(bd.parentNode!=bc){D.unwrap(bd.parentNode)}D.unwrap(bd.parentNode)}g(a8.commonAncestorContainer);bd.style.display="inline";D.scrollTo(bd);ba.removeCaret(a8);O(a8)}}function f(){var a0=[//g,"",/mso-[^;"]*;?/ig,"",/<\/?(meta|link|style|o:|v:)[^>]*>((?:.|\n)*?<\/(meta|link|style|o:|v:)[^>]*>)?/ig,""];this.applicable=function(a3){return/class="?Mso|style="[^"]*mso-/i.test(a3)};function a1(a3){if(/^[\u2022\u00b7\u00a7\u00d8o\-]\u00a0+/.test(a3)){return"ul"}if(/^\s*\w+[\.\)]\u00a0{2,}/.test(a3)){return"ol"}}function a2(bg){var a8=D.create(document,"div",{innerHTML:bg});var bf=s(H.join(","),a8);var ba=-1,a5,be={ul:{},ol:{}},a3=a8;for(var bb=0;bb]*>/g,"").replace(/ /g,"\u00a0");var a9=a1(bg);if(!a9||D.name(a6)!="p"){if(a6.innerHTML==""){D.remove(a6)}else{be={ul:{},ol:{}};a3=a8;ba=-1}continue}var bc=parseFloat(a6.style.marginLeft||0);var bd=be[a9][bc];if(bc>ba||!bd){bd=D.create(document,a9);if(a3==a8){D.insertBefore(bd,a6)}else{a3.appendChild(bd)}be[a9][bc]=bd}if(a5!=a9){for(var a7 in be){for(var a4 in be[a7]){if(s.contains(bd,be[a7][a4])){delete be[a7][a4]}}}}D.remove(a6.firstChild);a3=D.create(document,"li",{innerHTML:a6.innerHTML});bd.appendChild(a3);D.remove(a6);ba=bc;a5=a9}return a8.innerHTML}this.clean=function(a4){for(var a3=0,a5=a0.length;a3]*"?/ig,"");return a4}}function i(a0){function a1(a4){var a2=0;for(var a3=a4.parentNode.firstChild;a3;a3=a3.nextSibling){if(a3!=a4&&a3.className!="t-marker"&&a3.nodeType==1){a2++}}return a2}this.findSuitable=function(a3,a2){if(!a2&&a1(a3)>0){return null}return D.parentOfType(a3,a0[0].tags)};this.findFormat=function(a6){for(var a2=0;a20){this.activate(a6,a5)}};this.apply=function(a8){var a7=[];for(var a5=0,a6=a8.length;a50){for(var a5=0,a8=a9.length;a51){var a5=a7.pop();var a6=a7[a7.length-1];if(a5.previousSibling&&a5.previousSibling.className=="t-marker"){a6.appendChild(a5.previousSibling)}if(a5.previousSibling==a6&&a5.style.cssText==a6.style.cssText){while(a5.firstChild){a6.appendChild(a5.firstChild)}D.remove(a5)}}}}function aZ(a1,a0){i.call(this,a1);function a2(a6){var bh=a6.attributes,be=s.trim;if(!bh){return}for(var a5=0,bc=bh.length;a5=0?D.toHex(a4):a4}}}}return}function a3(a8){var a9=s(af(a8)?a8.parentNode:a8);var a7=a9.parents().andSelf();for(var a5=0,a6=a7.length;a5'+a8.dataItem.Text+""}}}function aX(a2){X.call(this,a2);var a1=[{tags:["span"]}],a0=new aZ(a1,a2.cssAttr);this.update=function(a3){a3.data("tColorPicker").close()};this.command=function(a3){return new aI(s.extend(a3,{formatter:function(){var a4={};a4[a2.domAttr]=a3.value;return new F(a1,{style:a4},a2.cssAttr)}}))};this.willDelayExecution=ad;this.init=function(a5,a3){var a4=a3.editor;a5.tColorPicker({selectedColor:"#000000",onChange:function(a6){X.exec(a4,a2.name,a6.value)}})}}function ab(){X.call(this);var a1=[{tags:["span"]}],a0=new aZ(a1,"className");this.command=function(a2){return new aI(s.extend(a2,{formatter:function(){return new F(a1,{className:a2.value})}}))};this.update=function(a2,a4){var a3=a2.data("tSelectBox");a3.close();a3.value(a0.getFormat(a4))};this.init=function(a4,a2){var a3=a2.editor;a4.tSelectBox({data:a3.style,title:a3.localization.style,onItemCreate:function(a5){var a6=D.inlineStyle(a3.document,"span",{className:a5.dataItem.Value});a5.html=''+a5.html+""},onChange:function(a5){X.exec(a3,"style",a5.value)}})}}function y(a1){function a0(a4,a5){for(var a2=0;a2'+a5.dataItem.Text+""},onChange:function(a4){X.exec(a2,"formatBlock",a4.value)},highlightFirst:false})}}function aR(a0){c.call(this,a0);this.exec=function(){var a3=this.getRange(),bd=q(a3),a6,bb=s.browser.msie?"":'
    ';var a5="p,h1,h2,h3,h4,h5,h6".split(","),be=D.parentOfType(a3.startContainer,a5),a1=D.parentOfType(a3.endContainer,a5),a2=(be&&!a1)||(!be&&a1);a3.deleteContents();var bc=D.create(bd,"a");a3.insertNode(bc);g(bc.parentNode);var a4=D.parentOfType(bc,["li"]),bf=D.parentOfType(bc,"h1,h2,h3,h4,h5,h6".split(","));if(a4){var a8=a3.cloneRange();a8.selectNode(a4);if(j(a8).length==0){var bg=D.create(bd,"p");if(a4.nextSibling){am(a8,a4.parentNode)}D.insertAfter(bg,a4.parentNode);D.remove(a4.parentNode.childNodes.length==1?a4.parentNode:a4);bg.innerHTML=bb;a6=bg}}else{if(bf&&!bc.nextSibling){var bg=D.create(bd,"p");D.insertAfter(bg,bf);bg.innerHTML=bb;D.remove(bc);a6=bg}}if(!a6){if(!(a4||bf)){new W([{tags:["p"]}]).apply([bc])}a3.selectNode(bc);var a7=D.parentOfType(bc,[a4?"li":bf?D.name(bf):"p"]);am(a3,a7,a2);var a9=a7.previousSibling;if(D.is(a9,"li")&&a9.firstChild&&!D.is(a9.firstChild,"br")){a9=a9.firstChild}a6=a7.nextSibling;if(D.is(a6,"li")&&a6.firstChild&&!D.is(a6.firstChild,"br")){a6=a6.firstChild}D.remove(a7);function ba(bh){if(bh.firstChild&&D.is(bh.firstChild,"br")){D.remove(bh.firstChild)}if(af(bh)&&bh.nodeValue==""){bh=bh.parentNode}if(bh&&!D.is(bh,"img")&&bh.innerHTML==""){bh.innerHTML=bb}}ba(a9);ba(a6);g(a9)}g(a6);if(!D.is(a6,"img")){a3.selectNodeContents(a6)}else{a3.setStartBefore(a6)}a3.collapse(true);D.scrollTo(a6);O(a3)}}function d(a0){c.call(this,a0);this.exec=function(){var a2=this.getRange();a2.deleteContents();var a1=D.create(q(a2),"br");a2.insertNode(a1);g(a1.parentNode);if(!s.browser.msie&&(!a1.nextSibling||D.isWhitespace(a1.nextSibling))){var a3=a1.cloneNode(true);a3.setAttribute("_moz_dirty","");D.insertAfter(a3,a1)}a2.setStartAfter(a1);a2.collapse(true);O(a2)}}function ap(a1){var a0=[a1=="ul"?"ol":"ul",a1];y.call(this,[{tags:a0}]);this.isFormatted=function(a5){var a2=[],a3;for(var a4=0;a41){D.insertAfter(a3[a3.length-1],a4);D.insertAfter(a3[1],a4);D[a2.length>0?"insertBefore":"insertAfter"](a3[0],a4)}}else{var a5=new b([{tags:["a"]}],a6);a5.finder=this.finder;a5.apply(a2)}}}function ao(a0){a0.formatter={toggle:function(a1){new b([{tags:["a"]}]).remove(j(a1))}};c.call(this,a0)}function aa(a1){c.call(this,a1);var a0;this.async=true;var a2=new aW();this.exec=function(){var a7=this.getRange();var a5=a7.collapsed;a7=this.lockRange(true);var ba=j(a7);var a9=null;var a4=this;function bb(bh){var bg=s("#t-editor-link-url",a8.element).val();if(bg&&bg!="http://"){a0={href:bg};var bd=s("#t-editor-link-title",a8.element).val();if(bd){a0.title=bd}var be=s("#t-editor-link-text",a8.element).val();if(be!==a9){a0.innerHTML=be}var bf=s("#t-editor-link-target",a8.element).is(":checked");if(bf){a0.target="_blank"}a2.apply(a7,a0)}a6(bh);if(a4.change){a4.change()}}function a6(bd){bd.preventDefault();a8.destroy();az(q(a7)).focus();a4.releaseRange(a7)}var bc=ba.length?a2.finder.findSuitable(ba[0]):null;var a3=ba.length<=1||(ba.length==2&&a5);var a8=ar.window.create(s.extend({},this.editor.dialogOptions,{title:"Insert link",html:new s.telerik.stringBuilder().cat('
    ').cat("
      ").cat('
    1. ').catIf('
    2. ',a3).cat('
    3. ').cat('
    4. ').cat("
    ").cat('
    ').cat('').cat(" or ").cat('Close').cat("
    ").cat("
    ").string(),onClose:a6})).hide().find(".t-dialog-insert").click(bb).end().find(".t-dialog-close").click(a6).end().find(".t-form-text-row input").keydown(function(bd){if(bd.keyCode==13){bb(bd)}else{if(bd.keyCode==27){a6(bd)}}}).end().find("#t-editor-link-url").val(bc?bc.getAttribute("href",2):"http://").end().find("#t-editor-link-text").val(ba.length>0?(ba.length==1?ba[0].nodeValue:ba[0].nodeValue+ba[1].nodeValue):"").end().find("#t-editor-link-title").val(bc?bc.title:"").end().find("#t-editor-link-target").attr("checked",bc?bc.target=="_blank":false).end().show().data("tWindow").center();if(a3&&ba.length>0){a9=s("#t-editor-link-text",a8.element).val()}s("#t-editor-link-url",a8.element).focus().select()},this.redo=function(){var a3=this.lockRange(true);a2.apply(a3,a0);this.releaseRange(a3)}}function aS(a1){X.call(this,s.extend(a1,{command:ao}));var a0=new i([{tags:["a"]}]);this.init=function(a2){a2.attr("unselectable","on").addClass("t-state-disabled")};this.update=function(a2,a3){a2.toggleClass("t-state-disabled",!a0.isFormatted(a3)).removeClass("t-state-hover")}}function aN(a1){c.call(this,a1);this.async=true;var a0;function a2(a3,a4){if(a0.src&&a0.src!="http://"){if(!a3){a3=D.create(q(a4),"img",a0);a3.onload=a3.onerror=function(){a3.removeAttribute("complete");a3.removeAttribute("width");a3.removeAttribute("height")};a4.deleteContents();a4.insertNode(a3);a4.setStartAfter(a3);a4.setEndAfter(a3);O(a4);return true}else{D.attr(a3,a0)}}return false}this.redo=function(){var a3=this.lockRange();if(!a2(U.image(a3),a3)){this.releaseRange(a3)}};this.exec=function(){var a6=this.lockRange();var a3=false;var a9=U.image(a6);var a4=this;function ba(bd){a0={src:s("#t-editor-image-url",a7.element).val(),alt:s("#t-editor-image-title",a7.element).val()};a3=a2(a9,a6);a5(bd);if(a4.change){a4.change()}}function a5(bd){bd.preventDefault();a7.destroy();az(q(a6)).focus();if(!a3){a4.releaseRange(a6)}}var a8=this.editor.fileBrowser;var bb=a8&&a8.selectUrl!==undefined;function bc(){if(bb){new ar.imageBrowser(s(this).find(".t-image-browser"),s.extend(a8,{apply:ba,element:a4.editor.element,localization:a4.editor.localization}))}}var a7=ar.window.create(s.extend({width:750},this.editor.dialogOptions,{title:"Insert image",html:new s.telerik.stringBuilder().cat('
    ').catIf('
    ',bb).cat("
      ").cat('
    1. ').cat('
    2. ').cat("
    ").cat('
    ').cat('').cat(" or ").cat('Close').cat("
    ").cat("
    ").string(),onClose:a5,onActivate:bc})).hide().find(".t-dialog-insert").click(ba).end().find(".t-dialog-close").click(a5).end().find(".t-form-text-row input").keydown(function(bd){if(bd.keyCode==13){ba(bd)}else{if(bd.keyCode==27){a5(bd)}}}).end().toggleClass("t-imagebrowser",bb).find("#t-editor-image-url").val(a9?a9.getAttribute("src",2):"http://").end().find("#t-editor-image-title").val(a9?a9.alt:"").end().show().data("tWindow").center();s("#t-editor-image-url",a7.element).focus().select()}}ar.selectbox=function(a0,a1){var a8;var a2=s(a0);var a4=a2.find(".t-input");var a5=this.dropDown=new ar.dropDown({effects:ar.fx.slide.defaults(),onItemCreate:a1.onItemCreate,onClick:function(a9){a7(a1.data[s(a9.item).index()].Value);a1.onChange({value:a8})}});function a3(){if(!a5.$items){a5.dataBind(a1.data)}}function a6(a9){a4.html(a9?a9:" ")}function a7(bb){a3();var ba=-1;for(var a9=0,bc=a1.data.length;a90?"rtl":"");s(document.documentElement).bind("mousedown",s.proxy(function(bb){var a9=a5.$element;var ba=a9&&a9.parent().length>0;if(ba&&!s.contains(a0,bb.target)&&!s.contains(a9.parent()[0],bb.target)){a5.close()}},this))};s.fn.tSelectBox=function(a0){return ar.create(this,{name:"tSelectBox",init:function(a1,a2){return new ar.selectbox(a1,a2)},options:a0})};s.fn.tSelectBox.defaults={effects:ar.fx.slide.defaults()};ar.colorpicker=function(a0,a1){this.element=a0;var a2=s(a0);s.extend(this,a1);a2.bind("click",s.proxy(this.click,this)).find("*").attr("unselectable","on");if(this.selectedColor){a2.find(".t-selected-color").css("background-color",this.selectedColor)}s(a0.ownerDocument.documentElement).bind("mousedown",s.proxy(function(a3){if(!s(a3.target).closest(".t-colorpicker-popup").length){this.close()}},this));ar.bind(this,{change:this.onChange,load:this.onLoad})};ar.colorpicker.prototype={select:function(a0){if(a0){a0=D.toHex(a0);if(!ar.trigger(this.element,"change",{value:a0})){this.value(a0);this.close()}}else{ar.trigger(this.element,"change",{value:this.selectedColor})}},open:function(){var a0=this.popup();var a3=s(this.element);var a2=a3.offset();a2.top+=a3.outerHeight();if(a3.closest(".t-rtl").length){a2.left-=a0.outerWidth()-a3.outerWidth()}var a1="auto";a3.parents().andSelf().each(function(){a1=s(this).css("zIndex");if(Number(a1)){a1=Number(a1)+1;return false}});ar.fx._wrap(a0).css(s.extend({position:"absolute",zIndex:a1},a2));a0.find(".t-item").bind("click",s.proxy(function(a5){var a4=s(a5.target,a5.target.ownerDocument).css("background-color");this.select(a4)},this));ar.fx.play(this.effects,a0,{direction:"bottom"})},close:function(){if(!this.$popup){return}ar.fx.rewind(this.effects,this.$popup,{direction:"bottom"},s.proxy(function(){D.remove(this.$popup[0].parentNode);this.$popup=null},this))},toggle:function(){if(!this.$popup||!this.$popup.is(":visible")){this.open()}else{this.close()}},click:function(a0){if(s(a0.target).closest(".t-tool-icon").length>0){this.select()}else{this.toggle()}},value:function(a0){if(!a0){return this.selectedColor}a0=D.toHex(a0);this.selectedColor=a0;s(".t-selected-color",this.element).css("background-color",a0)},popup:function(){if(!this.$popup){this.$popup=s(ar.colorpicker.buildPopup(this)).hide().appendTo(document.body).find("*").attr("unselectable","on").end()}return this.$popup}};s.extend(ar.colorpicker,{buildPopup:function(a0){var a3=new ar.stringBuilder();a3.cat('
    ').cat('
      ');var a5=a0.data;var a2=(a0.value()||"").substring(1);for(var a1=0,a4=a5.length;a1')}a3.cat("
    ");return a3.string()}});s.fn.tColorPicker=function(a0){return ar.create(this,{name:"tColorPicker",init:function(a1,a2){return new ar.colorpicker(a1,a2)},options:a0})};s.fn.tColorPicker.defaults={data:"000000,7f7f7f,880015,ed1c24,ff7f27,fff200,22b14c,00a2e8,3f48cc,a349a4,ffffff,c3c3c3,b97a57,ffaec9,ffc90e,efe4b0,b5e61d,99d9ea,7092be,c8bfe7".split(","),selectedColor:null,effects:ar.fx.slide.defaults()};function aU(){var a1=new y([{tags:H}]);function a0(a2){return a2.style.marginLeft||0}this.apply=function(a7){var a5=a1.findSuitable(a7);if(a5.length){var a4=[];for(var a3=0;a3ul")[0];if(!ba){ba=D.create(a8.ownerDocument,D.name(bb));a6.append(ba)}while(a8&&a8.parentNode==bb){ba.appendChild(a8);a8=a4.shift()}}else{var a2=parseInt(a0(a8))+30;D.style(a8,{marginLeft:a2})}}}else{var a9=new W([{tags:H}],{style:{marginLeft:30}});a9.apply(a7)}};this.remove=function(a4){var a6=a1.findSuitable(a4);for(var a2=0;a21)||(D.ofType(a3[a2],["ul","ol"])&&a6>0)}if(a4){a1.removeClass("t-state-disabled");return}}a1.addClass("t-state-disabled").removeClass("t-state-hover")}}function aE(a0){this.editor=a0;this.formats=[]}aE.prototype={apply:function(a4){if(!this.hasPending()){return}var a3=new ac();a3.addCaret(a4);var a0=a4.startContainer.childNodes[a4.startOffset];var a6=a0.previousSibling;if(!a6.nodeValue){a6=a6.previousSibling}a4.setStart(a6,a6.nodeValue.length-1);a3.add(a4);if(j(a4).length==0){a3.remove(a4);a4.collapse(true);this.editor.selectRange(a4);return}var a2=a3.end.previousSibling.previousSibling;var a8,a5=this.formats;for(var a1=0;a10},isPending:function(a0){return !!this.getPending(a0)},getPending:function(a1){var a2=this.formats;for(var a0=0;a0",{src:'javascript:""',frameBorder:"0",className:"t-content"}).css("display","").insertBefore(a0)[0];var a1=a4.contentWindow||a4;var a3=a1.document||a4.contentDocument;var a2=a0.val().replace(/(<\/?img[^>]*>)[\r\n\v\f\t ]+/ig,"$1");if(!a2.length&&s.browser.mozilla){a2='
    '}a3.designMode="On";a3.open();a3.write(new ar.stringBuilder().cat("").cat('').cat('").cat(s.map(a5,function(a6){return[''].join("")}).join("")).cat('').cat(a2).cat("").string());a3.close();return a1}function V(a0){ar.trigger(a0.element,"selectionChange")}ar.editor=function(a0,a1){if(/Mobile.*Safari/.test(navigator.userAgent)){return}var a2=this;this.element=a0;var a3=s(a0);a3.closest("form").bind("submit",function(){a2.update()});s.extend(this,a1);ar.bind(this,{load:this.onLoad,selectionChange:this.onSelectionChange,change:this.onChange,execute:this.onExecute,error:this.onError});for(var a6 in this.tools){this.tools[a6].name=a6.toLowerCase()}this.textarea=a3.find("textarea").attr("autocomplete","off")[0];this.window=ax(s(this.textarea),this.stylesheets);this.document=this.window.contentDocument||this.window.document;this.body=this.document.body;this.keyboard=new aH([new aQ(this),new A(this)]);this.clipboard=new aA(this);this.pendingFormats=new aE(this);this.undoRedoStack=new R();function bb(bc){var bd=s.grep(bc.className.split(" "),function(be){return !/^t-(widget|tool-icon|state-hover|header|combobox|dropdown|selectbox|colorpicker)$/i.test(be)});return bd[0]?bd[0].substring(2):"custom"}function a7(bd,bc){if(!bc.key){return bd}return new ar.stringBuilder().cat(bd).cat(" (").catIf("Ctrl + ",bc.ctrl).catIf("Shift + ",bc.shift).catIf("Alt + ",bc.alt).cat(bc.key).cat(")").string()}s(this.window).bind("blur",function(){var bc=a2.textarea.value,bd=a2.encodedValue();a2.update(bd);if(bd!=bc){ar.trigger(a2.element,"change")}});var a5=".t-editor-toolbar > li > *",a4=".t-editor-button .t-tool-icon",a8=a4+":not(.t-state-disabled)",ba=a4+".t-state-disabled";a3.delegate(a8,"mouseenter",ar.hover).delegate(a8,"mouseleave",ar.leave).delegate(a4,"mousedown",ar.preventDefault).delegate(a8,"click",ar.stopAll(function(bc){a2.focus();a2.exec(bb(this))})).delegate(ba,"click",function(bc){bc.preventDefault()}).find(a5).each(function(){var bg=bb(this),bd=a2.tools[bg],bf=a2.localization[bg],be=s(this);if(!bd){return}if(bg=="fontSize"||bg=="fontName"){var bc=a2.localization[bg+"Inherit"]||aO[bg+"Inherit"];a2[bg][0].Text=bc;be.find("input").val(bc).end().find("span.t-input").text(bc).end()}bd.init(be,{title:a7(bf,bd),editor:a2})}).end().bind("selectionChange",function(){var bd=a2.getRange();a2.selectionRestorePoint=new an(bd);var bc=j(bd);if(!bc.length){bc=[bd.startContainer]}a3.find(a5).each(function(){var be=a2.tools[bb(this)];if(be){be.update(s(this),bc,a2.pendingFormats)}})});s(document).bind("DOMNodeInserted",function(bc){if(s.contains(bc.target,a2.element)||a2.element==bc.target){s(a2.element).find("iframe").remove();a2.window=ax(s(a2.textarea),a2.stylesheets);a2.document=a2.window.contentDocument||a2.window.document;a2.body=a2.document.body}});var a9=true;s(this.document).bind({keydown:function(be){var bc=a2.keyboard.toolFromShortcut(a2.tools,be);if(bc){be.preventDefault();a2.exec(bc);return false}if(a2.keyboard.isTypingKey(be)&&a2.pendingFormats.hasPending()){if(a9){a9=false}else{var bd=a2.getRange();a2.pendingFormats.apply(bd);a2.selectRange(bd)}}a2.keyboard.clearTimeout();a2.keyboard.keydown(be)},keyup:function(be){var bd=[8,9,33,34,35,36,37,38,39,40,40,45,46];if(s.browser.mozilla&&be.keyCode==8){aJ(a2,be)}if(s.inArray(be.keyCode,bd)>-1||(be.keyCode==65&&be.ctrlKey&&!be.altKey&&!be.shiftKey)){a2.pendingFormats.clear();V(a2)}if(a2.keyboard.isTypingKey(be)){var bc=a2.getRange();a2.pendingFormats.apply(bc);a2.selectRange(bc)}else{a9=true}a2.keyboard.keyup(be)},mousedown:function(bc){a2.pendingFormats.clear();var bd=s(bc.target);if(!s.browser.gecko&&bc.which==2&&bd.is("a[href]")){window.open(bd.attr("href"),"_new")}},mouseup:function(){V(a2)}});s(this.body).bind("focusout",function(bc){if(a2.keyboard.typingInProgress()){a2.keyboard.endTyping(true)}try{if(!a2.selectionRestorePoint){a2.selectionRestorePoint=new an(a2.getRange())}}catch(bc){}}).bind("cut paste",function(bc){a2.clipboard["on"+bc.type](bc)})};function aJ(a0,a3){var a1=a0.getRange(),a4=a1.startContainer;if(a4==a0.body.firstChild||!D.isBlock(a4)||(a4.childNodes.length>0&&!(a4.childNodes.length==1&&D.is(a4.firstChild,"br")))){return}var a6=a4.previousSibling;while(a6&&!D.isBlock(a6)){a6=a6.previousSibling}if(!a6){return}var a5=a0.document.createTreeWalker(a6,NodeFilter.SHOW_TEXT,null,false);var a2;while(a2=a5.nextNode()){a6=a2}a1.setStart(a6,af(a6)?a6.nodeValue.length:0);a1.collapse(true);O(a1);D.remove(a4);a3.preventDefault()}s.extend(ar.editor,{BlockFormatFinder:y,BlockFormatter:W,Dom:D,FormatCommand:aI,GenericCommand:aV,GreedyBlockFormatter:au,GreedyInlineFormatFinder:aZ,GreedyInlineFormatter:F,ImageCommand:aN,IndentCommand:o,IndentFormatter:aU,InlineFormatFinder:i,InlineFormatter:b,InsertHtmlCommand:t,Keyboard:aH,LinkCommand:aa,LinkFormatFinder:I,LinkFormatter:aW,ListCommand:ay,ListFormatFinder:ap,ListFormatter:J,MSWordFormatCleaner:f,Marker:ac,NewLineCommand:d,OutdentCommand:S,ParagraphCommand:aR,PendingFormats:aE,RangeEnumerator:aj,RangeUtils:U,RestorePoint:an,SystemHandler:A,TypingHandler:aQ,UndoRedoStack:R,UnlinkCommand:ao});ar.editor.prototype={value:function(a2){var a0=this.body;if(a2===undefined){return C(a0)}this.pendingFormats.clear();a2=a2.replace(//g,"");a2=a2.replace(/]*)>(.*)?<\/script>/ig,"$2");if(s.browser.mozilla){a2=a2.replace(/]*)>(\s*)?<\/p>/ig,'


    ')}if(s.browser.msie&&parseInt(s.browser.version)<9){a2="
    "+a2;var a3="originalsrc",a1="originalhref";a2=a2.replace(/href\s*=\s*(?:'|")?([^'">\s]*)(?:'|")?/,a1+'="$1"');a2=a2.replace(/src\s*=\s*(?:'|")?([^'">\s]*)(?:'|")?/,a3+'="$1"');a0.innerHTML=a2;D.remove(a0.firstChild);s(a0).find("telerik\\:script,script,link,img,a").each(function(){var a4=this;if(a4[a1]){a4.setAttribute("href",a4[a1]);a4.removeAttribute(a1)}if(a4[a3]){a4.setAttribute("src",a4[a3]);a4.removeAttribute(a3)}})}else{a0.innerHTML=a2;if(s.browser.msie){g(a0)}}this.update()},focus:function(){this.window.focus()},update:function(a0){this.textarea.value=a0||this.encoded?this.encodedValue():this.value()},encodedValue:function(){return D.encode(this.value())},createRange:function(a0){return aP(a0||this.document)},getSelection:function(){return aY(this.document)},selectRange:function(a1){var a0=this.getSelection();a0.removeAllRanges();a0.addRange(a1)},getRange:function(){var a1=this.getSelection();var a0=a1.rangeCount>0?a1.getRangeAt(0):this.createRange();if(a0.startContainer==this.document&&a0.endContainer==this.document&&a0.startOffset==0&&a0.endOffset==0){a0.setStart(this.body,0);a0.collapse(true)}return a0},selectedHtml:function(){return C(this.getRange().cloneContents())},paste:function(a0){this.clipboard.paste(a0)},exec:function(a3,a0){a3=a3.toLowerCase();var a5="";for(var a2 in this.tools){if(a2.toLowerCase()==a3){a5=this.tools[a2];break}}if(a5){var a1=this.getRange();if(!/undo|redo/i.test(a3)&&a5.willDelayExecution(a1)){this.pendingFormats.toggle({name:a3,params:a0,command:a5.command});V(this);return}var a4=a5.command?a5.command(s.extend({range:a1},a0)):null;ar.trigger(this.element,"execute",{name:a3,command:a4});if(/undo|redo/i.test(a3)){this.undoRedoStack[a3]()}else{if(a4){if(!a4.managesUndoRedo){this.undoRedoStack.push(a4)}a4.editor=this;a4.exec();if(a4.async){a4.change=s.proxy(function(){V(this)},this);return}}}V(this)}}};s.fn.tEditor=function(a0){return ar.create(this,{name:"tEditor",init:function(a1,a2){return new ar.editor(a1,a2)},options:a0})};var ak={bold:[{tags:["strong"]},{tags:["span"],attr:{style:{fontWeight:"bold"}}}],italic:[{tags:["em"]},{tags:["span"],attr:{style:{fontStyle:"italic"}}}],underline:[{tags:["span"],attr:{style:{textDecoration:"underline"}}}],strikethrough:[{tags:["del"]},{tags:["span"],attr:{style:{textDecoration:"line-through"}}}],justifyLeft:[{tags:H,attr:{style:{textAlign:"left"}}},{tags:["img"],attr:{style:{"float":"left"}}}],justifyCenter:[{tags:H,attr:{style:{textAlign:"center"}}},{tags:["img"],attr:{style:{display:"block",marginLeft:"auto",marginRight:"auto"}}}],justifyRight:[{tags:H,attr:{style:{textAlign:"right"}}},{tags:["img"],attr:{style:{"float":"right"}}}],justifyFull:[{tags:H,attr:{style:{textAlign:"justify"}}}]};function ae(a2,a1){for(var a0=0;a0=0){return a1[a0]}}}function X(a0){s.extend(this,a0);this.init=function(a1,a2){a1.attr({unselectable:"on",title:a2.title})};this.command=function(a1){return new a0.command(a1)};this.update=function(){};this.willDelayExecution=function(){return false}}X.exec=function(a1,a2,a0){a1.focus();if(a1.selectionRestorePoint){a1.selectRange(a1.selectionRestorePoint.toRange());a1.selectionRestorePoint=null}a1.exec(a2,{value:a0})};function ai(a0){X.call(this,a0);this.command=function(a1){return new aI(s.extend(a1,{formatter:a0.formatter}))};this.update=function(a1,a5,a3){var a2=a3.isPending(this.name),a4=a0.finder.isFormatted(a5),a6=a2?!a4:a4;a1.toggleClass("t-state-active",a6)}}var Q=function(){return{isFormatted:function(){return false}}};var aO={bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",justifyCenter:"Center text",justifyLeft:"Align text left",justifyRight:"Align text right",justifyFull:"Justify",insertUnorderedList:"Insert unordered list",insertOrderedList:"Insert ordered list",indent:"Indent",outdent:"Outdent",createLink:"Insert hyperlink",unlink:"Remove hyperlink",insertImage:"Insert image",insertHtml:"Insert HTML",fontName:"Select font family",fontNameInherit:"(inherited font)",fontSize:"Select font size",fontSizeInherit:"(inherited size)",formatBlock:"Format",style:"Styles",emptyFolder:"Empty Folder",uploadFile:"Upload",orderBy:"Arrange by:",orderBySize:"Size",orderByName:"Name",invalidFileType:'The selected file "{0}" is not valid. Supported file types are {1}.',deleteFile:'Are you sure you want to delete "{0}"?',overwriteFile:'A file with name "{0}" already exists in the current directory. Do you want to overwrite it?',directoryNotFound:"A directory with this name was not found."};s.fn.tEditor.defaults={localization:aO,formats:ak,encoded:true,stylesheets:[],dialogOptions:{modal:true,resizable:false,draggable:true,effects:{list:[{name:"toggle"}]}},fontName:[{Text:aO.fontNameInherit,Value:"inherit"},{Text:"Arial",Value:"Arial,Helvetica,sans-serif"},{Text:"Courier New",Value:"'Courier New',Courier,monospace"},{Text:"Georgia",Value:"Georgia,serif"},{Text:"Impact",Value:"Impact,Charcoal,sans-serif"},{Text:"Lucida Console",Value:"'Lucida Console',Monaco,monospace"},{Text:"Tahoma",Value:"Tahoma,Geneva,sans-serif"},{Text:"Times New Roman",Value:"'Times New Roman',Times,serif"},{Text:"Trebuchet MS",Value:"'Trebuchet MS',Helvetica,sans-serif"},{Text:"Verdana",Value:"Verdana,Geneva,sans-serif"}],fontSize:[{Text:aO.fontSizeInherit,Value:"inherit"},{Text:"1 (8pt)",Value:"xx-small"},{Text:"2 (10pt)",Value:"x-small"},{Text:"3 (12pt)",Value:"small"},{Text:"4 (14pt)",Value:"medium"},{Text:"5 (18pt)",Value:"large"},{Text:"6 (24pt)",Value:"x-large"},{Text:"7 (36pt)",Value:"xx-large"}],formatBlock:[{Text:"Paragraph",Value:"p"},{Text:"Quotation",Value:"blockquote"},{Text:"Heading 1",Value:"h1"},{Text:"Heading 2",Value:"h2"},{Text:"Heading 3",Value:"h3"},{Text:"Heading 4",Value:"h4"},{Text:"Heading 5",Value:"h5"},{Text:"Heading 6",Value:"h6"}],tools:{bold:new Y({key:"B",ctrl:true,format:ak.bold}),italic:new Y({key:"I",ctrl:true,format:ak.italic}),underline:new Y({key:"U",ctrl:true,format:ak.underline}),strikethrough:new Y({format:ak.strikethrough}),undo:{key:"Z",ctrl:true},redo:{key:"Y",ctrl:true},insertLineBreak:new X({key:13,shift:true,command:d}),insertParagraph:new X({key:13,command:aR}),justifyCenter:new P({format:ak.justifyCenter}),justifyLeft:new P({format:ak.justifyLeft}),justifyRight:new P({format:ak.justifyRight}),justifyFull:new P({format:ak.justifyFull}),insertUnorderedList:new aM({tag:"ul"}),insertOrderedList:new aM({tag:"ol"}),createLink:new X({key:"K",ctrl:true,command:aa}),unlink:new aS({key:"K",ctrl:true,shift:true}),insertImage:new X({command:aN}),indent:new X({command:o}),outdent:new ag(),insertHtml:new x(),style:new ab(),fontName:new aC({cssAttr:"font-family",domAttr:"fontFamily",name:"fontName"}),fontSize:new aC({cssAttr:"font-size",domAttr:"fontSize",name:"fontSize"}),formatBlock:new n(),foreColor:new aX({cssAttr:"color",domAttr:"color",name:"foreColor"}),backColor:new aX({cssAttr:"background-color",domAttr:"backgroundColor",name:"backColor"})}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.editing.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.editing.min.js new file mode 100644 index 0000000..f792af6 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.editing.min.js @@ -0,0 +1 @@ +(function(h){var c=h.telerik,j=/^\/Date\((.*?)\)\/$/;var g=function(l){this.formId=l;this._isBuild=false;var n="tUnobtrusiveValidation";var m="tUnobtrusiveContainer";var k=this.unobtrusive={adapters:[],parseElement:function(o,r){var p=h(o),q=p.parents("form")[0],t,s,u;if(!q){return}t=k.validationInfo(q);t.options.rules[o.name]=s={};t.options.messages[o.name]=u={};h.each(this.adapters,function(){var v="data-val-"+this.name,w=p.attr(v),x={};if(w!==undefined){v+="-";h.each(this.params,function(){x[this]=p.attr(v+this)});this.adapt({element:o,form:q,message:w,params:x,rules:s,messages:u})}});if(!r){t.attachValidation()}},parse:function(o){h(o).find(":input[data-val=true]").each(function(){k.parseElement(this,true)});h("form").each(function(){var p=k.validationInfo(this);if(p){p.attachValidation()}})},onError:function(o,r){var q=h(this).find("[data-valmsg-for='"+r[0].name+"']"),p=h.parseJSON(q.attr("data-valmsg-replace"))!==false;q.removeClass("field-validation-valid").addClass("field-validation-error");o.data(m,q);if(p){q.empty();o.removeClass("input-validation-error").appendTo(q)}else{o.hide()}},onErrors:function(o,r){var q=h(this).find("[data-valmsg-summary=true]"),p=q.find("ul");if(p&&p.length&&r.errorList.length){p.empty();q.addClass("validation-summary-errors").removeClass("validation-summary-valid");h.each(r.errorList,function(){h("
  • ").html(this.message).appendTo(p)})}},onSuccess:function(o){var q=o.data(m),p=h.parseJSON(q.attr("data-valmsg-replace"));if(q){q.addClass("field-valiion-valid").removeClass("field-validation-error");o.removeData(m);if(p){q.empty()}}},validationInfo:function(o){var q=h(o),p=q.data(n);if(!p){p={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:h.proxy(k.onError,o),invalidHandler:h.proxy(k.onErrors,o),messages:{},rules:{},success:h.proxy(k.onSuccess,o)},attachValidation:function(){q.validate(this.options)},validate:function(){q.validate();return q.valid()}};q.data(n,p)}return p}}};g.prototype={build:function(){if(this._isBuild){return}this._isBuild=true;var o=[];function m(r,q,p){r.rules[q]=p;if(r.message){r.messages[q]=r.message}}function n(p){return p.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function l(p){return p.substr(0,p.lastIndexOf(".")+1)}function k(q,p){if(q.indexOf("*.")===0){q=q.replace("*.",p)}return q}o=this.unobtrusive.adapters;o.add=function(r,q,p){if(!p){p=q;q=[]}this.push({name:r,params:q,adapt:p});return this};o.addBool=function(q,p){return this.add(q,function(r){m(r,p||q,true)})};o.addMinMax=function(s,q,u,p,r,t){return this.add(s,[r||"min",t||"max"],function(x){var v=x.params.min,w=x.params.max;if(v&&w){m(x,p,[v,w])}else{if(v){m(x,q,v)}else{if(w){m(x,u,w)}}}})};o.addSingleVal=function(q,r,p){return this.add(q,[r||"val"],function(s){m(s,p||q,s.params[r])})};o.addSingleVal("accept","exts").addSingleVal("regex","pattern");o.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");o.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");o.add("equalto",["other"],function(q){var p=h(q.form).find(":input[name="+q.params.other+"]")[0];m(q,"equalTo",p)});o.add("required",function(p){if(p.element.tagName.toUpperCase()!=="INPUT"||p.element.type.toUpperCase()!=="CHECKBOX"){m(p,"required",true)}});o.add("remote",["url","type","additionalfields"],function(r){var p={url:r.params.url,type:r.params.type||"GET",data:{}},q=l(r.element.name);h.each(n(r.params.additionalfields||r.element.name),function(s,u){var t=k(u,q);p.data[t]=function(){return h(r.form).find(":input[name='"+t+"']").val()}});m(r,"remote",p)});if(h.validator.unobtrusive&&h.validator.unobtrusive.adapters){h.extend(o,h.validator.unobtrusive.adapters)}h.validator.addMethod("regex",function(p,r,q){if(this.optional(r)){return true}var s=new RegExp(q).exec(p);return s&&s.index==0&&s[0].length==p.length});h.validator.addMethod("number",function(p,s){var q=c.cultureInfo.numericgroupsize;var r=new c.stringBuilder();r.cat("^-?(?:\\d+|\\d{1,").cat(q).cat("}(?:").cat(c.cultureInfo.numericgroupseparator).cat("\\d{").cat(q).cat("})+)(?:\\").cat(c.cultureInfo.numericdecimalseparator).cat("\\d+)?$");return this.optional(s)||new RegExp(r.string()).test(p)})},parse:function(){this.build();this.unobtrusive.parse(this.formId)}};var f=function(k){this.validationMetaData=k};f.prototype={build:function(o){h.validator.addMethod("regex",function(A,C,B){if(this.optional(C)){return true}var D=new RegExp(B).exec(A);return D&&D.index==0&&D[0].length==A.length});h.validator.addMethod("number",function(A,D){var B=c.cultureInfo.numericgroupsize;var C=new c.stringBuilder();C.cat("^-?(?:\\d+|\\d{1,").cat(B).cat("}(?:").cat(c.cultureInfo.numericgroupseparator).cat("\\d{").cat(B).cat("})+)(?:\\").cat(c.cultureInfo.numericdecimalseparator).cat("\\d+)?$");return this.optional(D)||new RegExp(C.string()).test(A)});function t(B,A,C){B.range=[A,C]}function p(A,B){A.regex=B}function z(A){A.required=true}function v(A,B){A.maxlength=B}function m(A,B,C){A[B]=C}function x(D){var A={};for(var C=0;C-1){var m=o.substring(0,n);var l=k[m]||{};l[o.substring(n+1)]=k[o];k[m]=i(l);delete k[o]}}return k}function d(l){var m,k,n;for(m in l){k=l[m];if(typeof k==="string"){n=j.exec(k);if(n){l[m]=new Date(parseInt(n[1]))}}else{if(h.isPlainObject(k)){d(k)}}}}c.editing.initialize=function(l){h.extend(l,this.implementation);var k=h(l.element);l.modelBinder=new c.grid.ModelBinder();l.formViewBinder=new c.grid.FormViewBinder({date:function(u,r){var t=l.columnFromMember(u);var s=t?t.format:"";return c.formatString(s||"{0:G}",r)}});if(l.isAjax()){if(l.editing.mode=="InCell"){d(l.editing.defaultDataItem||{});l.changeLog=new c.grid.ChangeLog(l.pageSize||(l.data&&l.data.length)||0);h(l.element).bind("dataBound",function(){l.changeLog.clear()});l.cellEditor=new c.grid.CellEditor({columns:l.columns,cellIndex:function(r){return r.index()},id:l.formId(),bind:h.proxy(l.formViewBinder.bind,l.formViewBinder),validate:h.proxy(l.validation,l)});k.delegate(".t-grid-save-changes:not(.t-state-disabled)","click",c.stopAll(function(r){l.submitChanges()}));k.delegate(".t-grid-cancel-changes","click",c.stopAll(function(r){l.cancelChanges()}));l.hasChanges=function(){return l.changeLog.dirty()};l.submitChanges=function(){if(l.changeLog.dirty()){var r=l.changeLog.inserted;var t=h.grep(l.changeLog.updated,function(v){return v!=undefined});var s=h.grep(l.changeLog.deleted,function(v){return v!=undefined});if(c.trigger(l.element,"submitChanges",{inserted:r,updated:t,deleted:s})){return}var u=l.ws?{inserted:h.map(r,function(v){return l._convert(v)}),updated:h.map(t,function(v){return l._convert(v)}),deleted:h.map(s,function(v){return l._convert(v)})}:l.changeLog.serialize(r,t,s);l.sendValues(u,"updateUrl")}};l.cancelChanges=function(){l.changeLog.clear();l.dataBind(l.data.slice(0));l.valid=true};l.cellIndex=function(r){return h(r).parent().find("td:not(.t-group-cell,.t-hierarchy-cell)").index(r)};l.rowIndex=function(r){return h(r).parent().find("tr:not(.t-detail-row,.t-grouping-row)").index(r)};var o;l.valid=true;l.editCell=function(u){var r=l.columns[l.cellIndex(u)];if(l.valid&&(r&&!r.readonly)){l.td=u;u=h(u);var t=u.parent();var v=l.rowIndex(t);var s=l.changeLog.get(v)||l.dataItem(t);o=u.find(".t-dirty");l.cellEditor.edit(u,s);c.trigger(l.element,"edit",{mode:t.hasClass("t-grid-new-row")?"insert":"edit",form:l.form()[0],dataItem:s,cell:u[0]})}};l.saveCell=function(u){l.valid=l.validate();if(l.valid){u=h(u);var t=u.parent();var s=l.dataItem(t);var v=i(l.modelBinder.bind(u));var r=false;if(c.trigger(l.element,"save",{mode:t.hasClass("t-grid-new-row")?"insert":"edit",dataItem:s,values:v,form:l.form()[0],cell:u[0]})){return}if(t.hasClass("t-grid-new-row")){l.changeLog.insert(l.rowIndex(t),v)}else{r=l.changeLog.update(l.rowIndex(t),s,v)}l.cellEditor.display(u,v);if(r||t.hasClass("t-grid-new-row")){o=h('')}if(o&&o.length){o.prependTo(l.td)}l.td=null}};l.td=null;l.$tbody.delegate("td:not(.t-grid-edit-cell)",l.editing.beginEdit||"click",function(r){l.editCell(this)});h(document).mousedown(function(r){if(l.td&&!h.contains(l.td,r.target)&&l.td!=r.target&&!h(r.target).closest(".t-animation-container").length){l.saveCell(l.td)}})}else{if(l.editing.beginEdit){l.$tbody.delegate("tr:not(.t-detail-row,.t-grouping-row,.t-grid-edit-row,.t-group-footer)",l.editing.beginEdit,function(r){if(!h(r.target).is(":button,a,:input,a>.t-icon")){l.editRow(h(this))}})}}k.delegate(".t-grid-edit","click",c.stopAll(function(r){l.editRow(h(this).closest("tr"))})).delegate(".t-grid-delete","click",c.stopAll(function(r){l.deleteRow(h(this).closest("tr"))})).delegate(".t-grid-add","click",c.stopAll(function(r){l.addRow()}))}else{k.delegate(".t-grid-delete","click",c.stop(function(r){if(l.editing.confirmDelete!==false&&!confirm(l.localization.deleteConfirmation)){r.preventDefault()}}));l.validation()}l.errorView=new c.grid.ErrorView();var q=new c.grid.DataCellBuilder({columns:l.columns});var m=h.grep(l.columns,function(r){return r.commands&&h.grep(r.commands,function(s){return s.name=="edit"})[0]})[0];var n=new c.grid.FormContainerBuilder({html:function(){return unescape(l.editing.editor)},insert:function(){return m.insert()},edit:function(){return m.edit()}});var p=l.editing.mode;if(p=="InLine"){l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:q.display,edit:q.edit,insert:q.insert,groups:(l.groups||[]).length,details:l.detail})}else{if(p=="InForm"){l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:q.display,groups:(l.groups||[]).length,details:l.detail,edit:function(){return''+n.edit()+""},insert:function(){return''+n.insert()+""}})}else{if(p=="PopUp"){l.rowEditor=new c.grid.PopUpEditor({id:l.formId(),edit:n.edit,container:l.element,settings:l.editing.popup,insert:n.insert,editTitle:l.localization.edit,insertTitle:l.localization.insert})}else{q=new c.grid.CellBuilder({columns:l.columns});l.rowEditor=new c.grid.Editor({id:l.formId(),cancel:q.display,edit:q.edit,insert:q.insert})}}}k.delegate(":input:not(.t-button):not(textarea)","keydown",function(s){if(s.keyCode==13||s.keyCode==27){s.preventDefault();var r={13:".t-grid-update, .t-grid-insert",27:".t-grid-cancel"};h(this).closest("tr").find(r[s.keyCode]).click()}})};c.editing.implementation={editFor:function(l){var m=this.localization;if(l.commands){var o=h.grep(l.commands,function(q){return q.name=="edit"})[0];if(o){var p=c.grid.ButtonBuilder.create(h.extend({text:m.update},o,{name:"update"}));var n=c.grid.ButtonBuilder.create(h.extend({text:m.cancel},o,{name:"cancel"}));var k=p.build()+n.build();return function(){return k}}else{return function(){return""}}}else{if(!l.readonly&&l.editor){return function(){return unescape(l.editor)}}}return this.displayFor(l)},insertFor:function(l){var m=this.localization;if(l.commands){var o=h.grep(l.commands,function(q){return q.name=="edit"})[0];if(o){var p=c.grid.ButtonBuilder.create(h.extend({text:m.insert},o,{name:"insert"}));var n=c.grid.ButtonBuilder.create(h.extend({text:m.cancel},o,{name:"cancel"}));var k=p.build()+n.build();return function(){return k}}else{return function(){return""}}}else{return this.editFor(l)}},insertRow:function(k){if(this.validate()){var l=this.extractValues(k);if(c.trigger(this.element,"save",{mode:"insert",values:l,form:this.form()[0]})){return}this.sendValues(l,"insertUrl")}},updateRow:function(k){if(this.validate()){var l=this.dataItem(k.data("tr")||k);var m=this.extractValues(k);if(c.trigger(this.element,"save",{mode:"edit",dataItem:l,values:m,form:this.form()[0]})){return}this.sendValues(h.extend(l,m),"updateUrl")}},deleteRow:function(k){var l=this.dataItem(k);if(this.editing.mode!="InCell"){if(c.trigger(this.element,"delete",{dataItem:l})){return}if(this.editing.confirmDelete===false||confirm(this.localization.deleteConfirmation)){this.sendValues(l,"deleteUrl")}}else{if(this.editing.confirmDelete===false||confirm(this.localization.deleteConfirmation)){this.changeLog.erase(this.rowIndex(k),l);this.cancelRow(k);k.hide()}}},editRow:function(k){var m=this.dataItem(k);if(this.editing.mode!="InCell"){b();var n=this.rowEditor.edit(k,m);var l=this.form();l.undelegate(".t-grid-update").delegate(".t-grid-update","click",c.stopAll(h.proxy(function(){this.updateRow(n)},this))).undelegate(".t-grid-cancel").delegate(".t-grid-cancel","click",c.stopAll(h.proxy(function(){this.cancelRow(k)},this)));this.formViewBinder.bind(n,m);c.trigger(this.element,"edit",{mode:"edit",form:l[0],dataItem:m});this.validation()}else{if(this.valid){this.rowEditor.edit(k,m);this.td=row.find(":input:visible:first").focus().closest("td")[0];this.validation()}}},form:function(){return h("#"+this.formId())},addRow:function(){var n=h.extend(true,{},this.editing.defaultDataItem);if(this.editing.mode!="InCell"){b();var p=this.rowEditor.insert(this.$tbody,n);var l=this.form();l.undelegate(".t-grid-insert").delegate(".t-grid-insert","click",c.stopAll(h.proxy(function(){this.insertRow(p)},this))).undelegate(".t-grid-cancel").delegate(".t-grid-cancel","click",c.stopAll(h.proxy(function(){this.cancelRow(p)},this)));c.trigger(this.element,"edit",{mode:"insert",form:l[0]});this.validation()}else{if(this.valid){var m=this.rowEditor.insert(this.$tbody,n);this.changeLog.insert(n);this.td=m.find(":input:enabled:visible:first").focus().closest("td")[0];for(var k=this.columns.length-1;k>=0;k--){if(!this.columns[k].readonly){var o=m.children().eq(k);if(o[0]!=this.td){o.prepend('')}}}this.validation()}}},extractValues:function(k){return this.modelBinder.bind(k)},cancelRow:function(k){if(!k.length){return}var l=this.dataItem(k);this.rowEditor.cancel(k,l);c.trigger(this.element,"rowDataBound",{row:k[0],dataItem:l})},validate:function(){var k=this.form();if(k.length){return k.validate().form()}return true},cancel:function(){this.cancelRow(this.$tbody.find(">.t-grid-edit-row"))},_convert:function(o){for(var l in o){var k=o[l];if(k instanceof Date){var n=this.columnFromMember(l);var m="{0:G}";if(n&&n.format){m=n.format}o[l]=this.ws?"\\/Date("+k.getTime()+")\\/":c.formatString(m,k)}if(k==undefined){delete o[l]}}return o},sendValues:function(n,k){if(this.editing.mode!="InCell"||!this.ws){this._convert(n);for(var l in this.dataKeys){var m=this.valueFor({member:l})(n);if(m!=undefined){n[this.ws?l:this.dataKeys[l]]=m}}}h.ajax(this.ajaxOptions({data:this.ws?(this.editing.mode=="InCell"?n:{value:n}):n,url:this.url(k),hasErrors:h.proxy(this.hasErrors,this),displayErrors:h.proxy(this.displayErrors,this)}))},displayErrors:function(k){this.errorView.bind(h("#"+this.formId()),k.modelState)},hasErrors:function(k){var l=k.modelState;var m=false;if(l){h.each(l,function(n,o){if("errors" in o){m=true;return false}})}return m},formId:function(){return h(this.element).attr("id")+"form"},validation:function(){this.validator().parse()},validator:function(){if(this.validationMetadata){return new f(this.validationMetadata)}else{return new g(h("#"+this.formId()))}}};c.grid.ModelBinder=function(){this.binders={":input:not(.t-input):not(:radio),:radio:checked":function(){return h(this).val()},":checkbox":function(){return h(this).is(":checked")},".t-datepicker :input":function(){return h(this).data("tDatePicker").value()},".t-numerictextbox :input":function(){return h(this).data("tTextBox").value()},".t-editor textarea:hidden":function(){var k=h(this).closest(".t-editor").data("tEditor");if(k.encoded){return k.encodedValue()}return k.value()}};this.bind=function(k){var l={};h.each(this.binders,function(m,n){k.find(m).each(function(){if(!this.disabled){l[this.name]=n.call(this)}})});return l}};c.grid.FormViewBinder=function(m){this.converters=m||{};this.binders={":input:not(:radio)":function(n){h(this).val(n)},":checkbox":function(n){h(this).attr("checked",n==true)},":radio":function(o){var n=h(this).val();if(typeof o=="boolean"){n=n.toLowerCase()}if(n==o.toString()){h(this).attr("checked",true)}}};function l(n){return function(o){h(this).data(n).value(o)}}function k(){return function(n){h(this).closest(".t-editor").data("tEditor").value(n)}}this.binders[".t-numerictextbox :input"]=l("tTextBox");this.binders[".t-dropdown :input:hidden"]=l("tDropDownList");this.binders[".t-combobox :input:hidden"]=l("tComboBox");this.binders[".t-editor textarea:hidden"]=k();this.evaluate=function(o,r){if(r!=null){var n=o,p=false,t=r.split(".");while(t.length){var u=t.shift();if(n!=null&&typeof(n[u])!="undefined"){n=n[u];p=true}else{if(p){p=false;break}}}if(p&&!h.isPlainObject(n)){var q=j.exec(n);if(q){n=new Date(parseInt(q[1]))}var s=c.getType(n);if(s in this.converters){n=this.converters[s](r,n)}return n}}};this.bind=function(p,o){var n;h.each(this.binders,h.proxy(function(q,r){p.find(q).each(h.proxy(function(t,u){var s=this.evaluate(o,u.name);if(s!=n){r.call(u,s)}},this))},this))}};c.grid.CellBuilder=function(k){function l(n,m){return h.map(k.columns,function(p,o){return"':">")+p[o==0?m:"display"](n)+""}).join("")}this.edit=function(m){return l(m,"edit")};this.insert=function(m){return l(m,"insert")};this.display=function(m){return l(m,"display")}};c.grid.DataCellBuilder=function(k){function l(n,m){return h.map(k.columns,function(p,o){return"':">")+p[m](n)+""}).join("")}this.edit=function(m){return l(m,"edit")};this.insert=function(m){return l(m,"insert")};this.display=function(m){return l(m,"display")}};c.grid.FormContainerBuilder=function(k){function l(m){return'
    '+k.html()+k[m]()+"
    "}this.edit=function(){return l("edit")};this.insert=function(){return l("insert")}};function e(k){return h("
    ",{className:"t-edit-form",id:k}).submit(c.preventDefault)}c.grid.PopUpEditor=function(m){var l;function k(){var o=l.data("tWindow");o&&o.close();l.remove()}function n(p,o){l=h("
    ",{id:m.container.id+"PopUp"}).appendTo(m.container).css({top:0,left:"50%",marginLeft:-90}).tWindow(m.settings).find(".t-window-content").append(m[o](p)).wrapInner(e(m.id)).end();h(m.container).one("dataBound",k);l.find("t-close").bind("close",c.stopAll(k)).end().data("tWindow").open().title(m[o+"Title"]);return l}this.edit=function(o,p){o.addClass("t-grid-edit-row");return n(p,"edit").data("tr",o)};this.insert=function(o,p){return n(p,"insert")};this.cancel=function(o){o.removeClass("t-grid-edit-row");k()}};c.grid.Editor=function(m){var l=(m.groups||0);function k(n,o,p){var q=n.find(".t-group-cell,.t-hierarchy-cell");n.addClass("t-grid-edit-row").empty().append(q).append(m[p](o)).closest("table").wrap(function(){if(!h(this).parent().is("form")){return e(m.id)}})}this.cancel=function(n,o){if(n.is(".t-grid-new-row")){n.remove()}else{k(n,o,"cancel");n.removeClass("t-grid-edit-row")}};this.insert=function(p,o){var q=''+new Array(l+1).join('')+((m.details)?'':"")+"";var n=h(q);p.prepend(n);k(n,o,"insert");return n};this.edit=function(n,o){k(n,o,"edit");return n}};c.grid.CellEditor=function(k){this.edit=function(n,m){var l=k.columns[k.cellIndex(n)];if(!l.readonly){n.parent().addClass("t-grid-edit-row").end().empty().html(l.edit(m)).closest("table").wrap(function(){if(!h(this).parent().is("form")){return e(k.id)}});k.bind(n,m);k.validate();n.find(":input:visible:first").trigger("focusin").focus();n.addClass("t-grid-edit-cell")}return !l.readonly};this.display=function(n,m){var l=k.columns[k.cellIndex(n)];n.removeClass("t-grid-edit-cell").empty().html(l.display(m)).parent().removeClass("t-grid-edit-row")}};c.grid.ChangeLog=function(l){this.insert=function(m,o){if(o==undefined){o=m;this.inserted.splice(0,0,o)}else{var n=this.inserted[m];if(n===undefined){this.inserted.splice(0,0,o)}else{h.extend(n,o)}}};this.get=function(n){var m=this.inserted[n];if(this.inserted[n]){return m}return this.updated[n-this.inserted.length]};this.update=function(s,p,o){s=s-this.inserted.length;var t=this.updated[s]||p||{};var r=false;for(var m in o){var q=t[m],n=o[m];if(q instanceof Date){if(n.getTime()!==q.getTime()){r=true}}else{if(n!==q){r=true}}}if(r){this.updated[s]=h.extend({},t,o)}return r};this.erase=function(n,p){var m=this.inserted[n];if(m){this.inserted.splice(n,1)}else{n=n-this.inserted.length;var o=this.updated[n];if(o){delete this.updated[n]}this.deleted[n]=p}};this.clear=function(){this.updated=new Array(l);this.deleted=new Array(l);this.inserted=[]};function k(n,r,t){var u={};for(var s=0,o=0;s .t-grid-content",g.element).bind("scroll",function(){g.hideFilter()});c(document).click(function(h){if(h.which!=3){g.hideFilter()}});g.$header.find(".t-grid-filter").click(c.proxy(g.showFilter,g)).hover(function(){c(this).toggleClass("t-state-hover")})};b.filtering.implementation={createFilterCommands:function(h,g){var i={};c.each(this.localization,function(m,j){var k="filter"+g.type;var l=m.indexOf(k);if(l>-1){i[m.substring(l+k.length).toLowerCase()]=j}});h.cat('")},createTypeSpecificInput:function(j,g,h,i){if(g.type=="Date"){j.cat('
    ').cat('').cat('
    ')}else{if(g.type=="Boolean"){j.cat('
    ').cat('
    ")}else{if(g.type=="Enum"){j.cat("
    ")}else{if(g.type=="Number"){j.cat('
    ').cat('').cat("
    ")}else{j.cat('')}}}}},createFilterMenu:function(g){var j=new b.stringBuilder();j.cat('
    ");var i=c(j.string());c.each(g.filters||[],function(k){i.find(".t-filter-operator:eq("+k+")").val(this.operator).end().find(":text:eq("+k+"),select:not(.t-filter-operator):eq("+k+")").val(a(g,this.value));if(g.type=="Boolean"){i.find(":radio[id$="+this.value+"]").attr("checked",true)}});return i.find(".t-datepicker .t-input").each(function(){c(this).tDatePicker({format:f(g)})}).end().find(".t-numerictextbox .t-input").each(function(){c(this).tTextBox({type:"numeric",minValue:null,maxValue:null,numFormat:"",groupSeparator:""})}).end().appendTo(this.element)},showFilter:function(m){m.stopPropagation();var g=c(m.target).closest(".t-grid-filter");this.hideFilter(function(){return this.parentNode!=g[0]});var k=g.data("filter");if(!k){var h=this.columns[this.$columns().index(g.parent())];k=this.createFilterMenu(h).data("column",h).click(function(p){p.stopPropagation();if(c(p.target).parents(".t-datepicker").length==0){c(".t-datepicker .t-input",this).each(function(){c(this).data("tDatePicker").hidePopup()})}}).find(".t-filter-button").click(c.proxy(this.filterClick,this)).end().find(".t-clear-button").click(c.proxy(this.clearClick,this)).end().find("input[type=text]").keyup(c.proxy(function(p){if(p.keyCode==13){this.filterClick(p)}},this)).end();g.data("filter",k)}var l=0;c(this.element).find("> .t-grouping-header, > .t-grid-toolbar").add(this.$header).each(function(){l+=this.offsetHeight});var i={top:l};var n=-this.$headerWrap.scrollLeft()-1;g.parent().add(g.parent().prevAll("th")).each(function(){if(c(this).css("display")!="none"){n+=this.offsetWidth}});var j=n-g.outerWidth();var o=k.outerWidth()||k.find(".t-group").outerWidth();if(j+o>this.$header.outerWidth()){j=n-o+1}if(c(this.element).closest(".t-rtl").length){i.right=j+(c.browser.mozilla||c.browser.safari?18:0)}else{i.left=j}k.css(i);b.fx[k.find(".t-filter-options").is(":visible")?"rewind":"play"](d,k.find(".t-filter-options"),{direction:"bottom"})},hideFilter:function(g){g=g||function(){return true};c(".t-grid .t-animation-container").find(".t-datepicker .t-input").each(function(){c(this).data("tDatePicker").hidePopup()}).end().find(".t-filter-options").filter(g).each(function(){b.fx.rewind(d,c(this),{direction:"bottom"})})},clearClick:function(i){i.preventDefault();var h=c(i.target);var g=h.closest(".t-animation-container").data("column");g.filters=null;h.parent().find("input").removeAttr("checked").removeClass("t-state-error").not(":radio").val("").end().end().find("select").removeClass("t-state-error").find("option:first").attr("selected","selected");this.filter(this.filterExpr())},filterClick:function(j){j.preventDefault();var i=c(j.target);var g=i.closest(".t-animation-container").data("column");g.filters=[];var h=false;i.closest(".t-filter-options").find("input[type=text]:visible,select:not(.t-filter-operator)").each(c.proxy(function(p,n){var l=c(n);var k=c.trim(l.val());if(!k){l.removeClass("t-state-error");return true}var m=this.isValidFilterValue(g,k);l.toggleClass("t-state-error",!m);if(!m){h=true;return true}var o=l.prev("select").val()||l.parent().prev("select").val()||l.parent().parent().prev("select").val();if(k!=this.localization.filterSelectValue){g.filters.push({operator:o,value:k})}},this));i.parent().find("input:checked").each(c.proxy(function(m,l){var n=c(l);var k=c(l).attr("value");g.filters.push({operator:"eq",value:k})},this));if(!h){if(g.filters.length>0){this.filter(this.filterExpr())}this.hideFilter()}},isValidFilterValue:function(h,g){if(h.type=="Number"){return !isNaN(g)}return true},encodeFilterValue:function(g,h){switch(g.type){case"String":return"'"+h.replace(e,"''")+"'";case"Date":var i;if(h.indexOf("Date(")>-1){i=new Date(parseInt(h.replace(/^\/Date\((.*?)\)\/$/,"$1")))}else{i=b.datetime.parse({value:h,format:f(g)}).toDate()}return"datetime'"+b.formatString("{0:yyyy-MM-ddTHH-mm-ss}",i)+"'"}return h},filterExpr:function(){var h=[];for(var g=0;g');f.$groupHeader=d("> .t-grouping-header",f.element);function h(){var k=d.map(f.$groupHeader.find(".t-group-indicator"),function(l){var m=d(l);var n=m.offset().left;var o=m.outerWidth();return{left:n,right:n+o,width:o,$group:m}});return{first:k[0],all:k,last:k[k.length-1]}}function g(r){var m=r.$cue.text();if(!d.contains(f.element,r.target)||!d(r.target).closest(".t-grouping-header").length||(f.groupFromTitle(m)&&r.$draggable.closest(".t-header").length)){f.$groupDropCue.remove();return}var n=d("> .t-grid-toolbar",f.element).outerHeight()+c;var o=h();if(!o.all.length){f.$groupDropCue.css({top:n,left:a}).appendTo(f.$groupHeader);return}var q=o.first;var s=o.last;var l=parseInt(q.$group.css("marginLeft"));var k=parseInt(q.$group.css("marginRight"));var p=d.grep(o.all,function(t){return r.pageX>=t.left-l-k&&r.pageX<=t.right})[0];if(!p&&q&&r.pageX=0){f.groups.splice(d.inArray(m,f.groups),1);f.groups.splice(o,0,m)}f.groupBy=d.map(f.groups,function(q){return q.member+"-"+q.order}).join("~");if(this.isAjax()){var p=this.$groupHeader.find('div:contains("'+l+'")');if(p.length==0){var k=new d.telerik.stringBuilder().cat('").string();p=d(k).appendTo(this.$groupHeader)}if(this.$groupDropCue.is(":visible")){p.insertBefore(this.$groupDropCue)}p.find(".t-link .t-icon").toggleClass("t-arrow-up-small",m.order=="asc").toggleClass("t-arrow-down-small",m.order=="desc").html("("+(m.order=="asc"?f.localization.sortedAsc:f.localization.sortedDesc)+")");this.ajaxRequest()}else{this.serverRequest()}};f.unGroup=function(l){var k=f.groupFromTitle(l);f.groups.splice(d.inArray(k,f.groups),1);if(f.groups.length==0){f.$groupHeader.html(f.localization.groupHint)}f.groupBy=d.map(f.groups,function(m){return m.member+"-"+m.order}).join("~");if(f.isAjax()){f.$groupHeader.find('div:contains("'+k.title+'")').remove();f.ajaxRequest()}else{f.serverRequest()}},f.normalizeColumns=function(n){var o=f.groups.length;var m=n-f.$tbody.parent().find(" > colgroup > col").length;if(m==0){return}var p=f.$tbody.parent().add(f.$headerWrap.find("table")).add(f.$footer.find("table"));if(d.browser.msie){if(m>0){d(new b.stringBuilder().rep('',m).string()).prependTo(p.find("colgroup"));d(new b.stringBuilder().rep(' ',m).string()).insertBefore(p.find("th.t-header:first"));d(new b.stringBuilder().rep(' ',m).string()).insertBefore(p.find("tr.t-footer-template > td:first"))}else{p.find("th:lt("+Math.abs(m)+"), tr.t-footer-template > td:lt("+Math.abs(m)+")").remove().end().find("col:lt("+Math.abs(m)+")").remove()}var k=[];var l=0;d("table, .t-grid-bottom",f.element).each(function(){k.push(this.parentNode)}).appendTo(d("
    ")).each(function(){k[l++].appendChild(this)})}else{p.find("col.t-group-col").remove();d(new b.stringBuilder().rep('',o).string()).prependTo(p.find("colgroup"));p.find("th.t-group-cell").remove();p.find("tr.t-footer-template > td.t-group-cell").remove();d(new b.stringBuilder().rep(' ',o).string()).insertBefore(p.find("th.t-header:first"));d(new b.stringBuilder().rep(' ',o).string()).insertBefore(p.find("tr.t-footer-template > td:first"))}},f.bindGroup=function(n,r,q,p){var o=f.groups[p];var t=n.Key;var m=d.grep(f.columns,function(l){return o.member==l.member})[0];if(m&&(m.format||m.type=="Date")){t=b.formatString(m.format||"{0:G}",t)}q.cat('').rep('',p).cat('

    ');if(m){q.cat(m.groupHeader(d.extend({Title:o.title,Key:t},n.Aggregates[m.member])))}else{q.cat(o.title+": "+t)}q.cat("

    ");if(n.HasSubgroups){for(var k=0,s=n.Items.length;k').rep('',f.groups.length);d.each(f.columns,function(){q.cat("");if(this.groupFooter){q.cat(this.groupFooter(n.Aggregates[this.member]))}q.cat("")});q.cat("")}}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.min.js new file mode 100644 index 0000000..e7943bc --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.min.js @@ -0,0 +1 @@ +(function(c){var g=c.telerik;var a=/"\\\/Date\((.*?)\)\\\/"/g;function d(h){return new Function("data",("var p=[];with(data){p.push('"+unescape(h).replace(/[\r\t\n]/g," ").replace(/'(?=[^#]*#>)/g,"\t").split("'").join("\\'").split("\t").join("'").replace(/<#=(.+?)#>/g,"',$1,'").split("<#").join("');").split("#>").join("p.push('")+"');}return p.join('');"))}function f(h){return(h!=null?h+"":"").replace(/&/g,"&").replace(//g,">")}g.grid=function(h,j){this.element=h;this.groups=[];this.editing={};this.filterBy="";this.groupBy="";this.orderBy="";c.extend(this,j);this.sorted=c.grep(this.columns,function(i){return i.order});this.$tbody=c("> .t-grid-content > table > tbody",h);this.scrollable=this.$tbody.length>0;if(!this.scrollable){this.$tbody=c("> table > tbody",h);this.$header=c("> table > thead tr",h);this.$footer=c("> table > tfoot",h)}else{c("> .t-grid-content",h).tScrollable();this.$header=c("> .t-grid-header tr",h);this.$footer=c("> .t-grid-footer",h)}this.$headerWrap=c("> .t-grid-header > .t-grid-header-wrap",h);this.$footerWrap=c("> .t-grid-footer > .t-grid-footer-wrap",h);var o=this.$headerWrap.add(this.$footerWrap);c("> .t-grid-content",h).bind("scroll",function(){o.scrollLeft(this.scrollLeft)});this.$tbody.delegate(".t-hierarchy-cell .t-plus, .t-hierarchy-cell .t-minus","click",g.stopAll(function(s){var r=c(s.target);var q=r.hasClass("t-plus");r.toggleClass("t-minus",q).toggleClass("t-plus",!q);var i=r.closest("tr.t-master-row");if(this.detail&&!i.next().hasClass("t-detail-row")){c(new g.stringBuilder().cat('').rep('',i.find(".t-group-cell").length).cat('').cat('').cat(this.displayDetails(this.dataItem(i))).cat("").string()).insertAfter(i)}g.trigger(this.element,q?"detailViewExpand":"detailViewCollapse",{masterRow:i[0],detailRow:i.next(".t-detail-row")[0]});i.next().toggle(q)},this));this.$pager=c("> .t-grid-pager .t-pager",h);var n=new g.dropDown({effects:g.fx.slide.defaults(),onClick:c.proxy(function(i){this.changePageSize(c(i.item).text());n.close()},this)});n.dataBind(j.pageSizesInDropDown||[]);c(document.documentElement).bind("mousedown",function(q){var i=n.$element[0];if(!c.contains(i,q.target)){n.close()}});this.$pager.delegate(".t-state-disabled","click",g.preventDefault).delegate(".t-link:not(.t-state-disabled)","mouseenter",g.hover).delegate(".t-link:not(.t-state-disabled)","mouseleave",g.leave).delegate("input[type=text]","keydown",c.proxy(this.pagerKeyDown,this)).delegate(".t-page-size .t-dropdown-wrap","click",function(){var i=c(this);n.open({offset:i.offset(),outerHeight:i.outerHeight(),outerWidth:i.outerWidth(),zIndex:g.getElementZIndex(this)})});c("> .t-grid-pager",h).delegate(".t-refresh","click",c.proxy(this.refreshClick,this));c(h).delegate(".t-button","hover",g.preventDefault);if(this.sort){this.$header.delegate(".t-link","hover",function(){c(this).toggleClass("t-state-hover")})}var p="tr:not(.t-grouping-row,.t-detail-row,.t-no-data,:has(>.t-edit-container))";if(this.selectable){var m=this.$tbody[0];var l=this;this.$tbody.delegate(p,"click",function(i){if(this.parentNode==m){l.rowClick(i)}}).delegate(p,"hover",function(){if(this.parentNode==m){c(this).toggleClass("t-state-hover")}})}if(this.isAjax()){this.$pager.delegate(".t-link:not(.t-state-disabled)","click",g.stop(this.pagerClick,this));if(this.sort){this.$header.delegate(".t-link","click",g.stop(this.headerClick,this))}}for(var k=0;k.t-icon")){j.stopPropagation();var h=i.closest("tr").addClass("t-state-selected").siblings().removeClass("t-state-selected").end();g.trigger(this.element,"rowSelect",{row:h[0]})}},$rows:function(){return this.$tbody.find("> tr:not(.t-grouping-row,.t-detail-row)")},expandRow:function(h){c(h).find("> td .t-plus, > td .t-expand").click()},collapseRow:function(h){c(h).find("> td .t-minus, > td .t-collapse").click()},headerClick:function(h){h.preventDefault();this.toggleOrder(this.$columns().index(c(h.target).closest("th")));this.sort(this.sortExpr())},refreshClick:function(i,h){if(c(h).is(".t-loading")){return}if(this.isAjax()){i.preventDefault();this.ajaxRequest(true)}},sort:function(h){this.orderBy=h;this.ajaxRequest()},columnFromTitle:function(i){i=c.trim(i);var h=c.grep(this.$columns(),function(j){return c.trim(c(j).text())==i})[0];if(h){return this.columns[this.$columns().index(h)]}return c.grep(this.columns,function(j){return j.title==i})[0]},columnFromMember:function(h){var i=c.grep(this.columns,function(j){return j.member==h})[0];if(!i){i=c.grep(this.columns,function(k){var j="."+k.member;return h.substr(h.length-j.length)==j})[0]}return i},toggleOrder:function(h){h=typeof h=="number"?this.columns[h]:h;var j="asc";if(h.order=="asc"){j="desc"}else{if(h.order=="desc"){j=null}}h.order=j;var i=c.inArray(h,this.sorted);if(this.sortMode=="single"&&i<0){c.each(this.sorted,function(){this.order=null});this.sorted=[]}if(i<0&&j){this.sorted.push(h)}if(!j){this.sorted.splice(i,1)}},sortExpr:function(){return c.map(this.sorted,function(h){return h.member+"-"+h.order}).join("~")},pagerKeyDown:function(h){if(h.keyCode==13){var i=this.sanitizePage(c(h.target).val());if(i!=this.currentPage){this.pageTo(i)}else{c(h.target).val(i)}}},isAjax:function(){return this.ajax||this.ws||this.onDataBinding},url:function(h){return(this.ajax||this.ws)[h]},pagerClick:function(m){m.preventDefault();var i=c(m.target).closest(".t-link");var j=this.currentPage;var k=i.find(".t-icon");if(k.hasClass("t-arrow-next")){j++}else{if(k.hasClass("t-arrow-last")){j=this.totalPages()}else{if(k.hasClass("t-arrow-prev")){j--}else{if(k.hasClass("t-arrow-first")){j=1}else{var h=i.text();if(h=="..."){var l=i.parent().children().index(i);if(l==0){j=parseInt(i.next().text())-1}else{j=parseInt(i.prev().text())+1}}else{j=parseInt(h)}}}}}this.pageTo(isFinite(j)?j:this.currentPage)},changePageSize:function(i){var h=parseInt(i,10);if(isNaN(h)||h<1){return this.pageSize}h=Math.max(h,1);this.pageSize=h;if(this.isAjax()){this.ajaxRequest()}else{this.serverRequest()}},pageTo:function(h){this.currentPage=h;if(this.isAjax()){this.ajaxRequest()}else{this.serverRequest()}},ajaxOptions:function(i){var h={type:"POST",dataType:"text",dataFilter:function(k,l){return k.replace(a,"new Date($1)")},error:c.proxy(function(l,k){if(g.ajaxError(this.element,"error",l,k)){return}},this),complete:c.proxy(this.hideBusy,this),success:c.proxy(function(l,m,k){try{l=eval("("+l+")")}catch(n){if(!g.ajaxError(this.element,"error",k,"parseeror")){alert("Error! The requested URL did not return JSON.")}return}l=l.d||l;if(i.hasErrors&&i.hasErrors(l)){if(!g.trigger(this.element,"error",{XMLHttpRequest:k,textStatus:"modelstateerror",modelState:l.modelState})){i.displayErrors(l)}return}this.total=l.total||l.Total||0;this.aggregates=l.aggregates||{};this.dataBind(l.data||l.Data)},this)};c.extend(h,i);var j=this.ws?h.data.state={}:h.data;j[this.queryString.page]=this.currentPage;j[this.queryString.size]=this.pageSize;j[this.queryString.orderBy]=this.orderBy||"";j[this.queryString.groupBy]=this.groupBy;j[this.queryString.filter]=(this.filterBy||"").replace(/\"/g,'\\"');j[this.queryString.aggregates]=c.map(this.columns,function(k){if(k.aggregates){return k.member+"-"+k.aggregates.join("-")}}).join("~");if(this.ws){h.data=g.toJson(h.data);h.contentType="application/json; charset=utf-8"}return h},showBusy:function(){this.busyTimeout=setTimeout(c.proxy(function(){c("> .t-grid-pager .t-status .t-icon",this.element).addClass("t-loading")},this),100)},hideBusy:function(){clearTimeout(this.busyTimeout);c("> .t-grid-pager .t-status .t-icon",this.element).removeClass("t-loading")},serverRequest:function(){location.href=g.formatString(unescape(this.urlFormat),this.currentPage,this.orderBy||"~",this.groupBy||"~",encodeURIComponent(this.filterBy)||"~",this.pageSize||"~")},ajaxRequest:function(i){var h={page:this.currentPage,sortedColumns:this.sorted,filteredColumns:c.grep(this.columns,function(j){return j.filters})};if(g.trigger(this.element,"dataBinding",h)){return}if(!this.ajax&&!this.ws){return}this.showBusy();c.ajax(this.ajaxOptions({data:c.extend({},h.data,i),url:this.url("selectUrl")}))},valueFor:function(h){if(h.type=="Date"){return new Function("data","var value = data."+h.member+'; if (!value) return null; return value instanceof Date? value : new Date(parseInt(value.replace(/\\/Date\\((.*?)\\)\\//, "$1")));')}return new Function("data","return data"+(h.member?"."+h.member:"")+";")},displayFor:function(h){var j=this.localization;if(h.commands){var k=c.map(h.commands,function(l){var m=g.grid.ButtonBuilder.create(c.extend({text:j[l.name]},l));return m.build()}).join("");return function(){return k}}if(!h.template){var i=h.value||function(){return""};if(h.format||h.type=="Date"){i=function(l){var m=h.value(l);return m==null?"":g.formatString(h.format||"{0:G}",m)}}return h.encoded===false?i:function(l){return f(i(l))}}return d(h.template)},insertFor:function(h){return this.displayFor(h)},editFor:function(h){return this.displayFor(h)},initializeColumns:function(){c.each(this.columns,c.proxy(function(h,i){if(i.member!==undefined){i.value=this.valueFor(i)}else{i.readonly=true}i.insert=this.insertFor(i);i.edit=this.editFor(i);i.display=this.displayFor(i);if(i.footerTemplate){i.footer=d(i.footerTemplate)}if(i.groupFooterTemplate){this.showGroupFooter=true;i.groupFooter=d(i.groupFooterTemplate)}i.groupHeader=d("<#= Title #>: <#= Key #>");if(i.groupHeaderTemplate){i.groupHeader=d(i.groupHeaderTemplate)}},this));if(this.detail){this.displayDetails=d(this.detail.template)}},bindData:function(j,l,n){Array.prototype.push.apply(this.data,j);var p=Math.min(this.pageSize,j.length);p=this.pageSize?p:j.length;if(c.browser.msie){c(this.element).find(".t-grid-content colgroup:first col").css("display","")}for(var q=0;q')}else{l.cat("")}l.rep('',n).catIf('',this.detail);for(var k=0,m=this.columns.length;k").cat(o.display(j[q]));l.cat("")}l.cat("")}},normalizeColumns:function(){},dataItem:function(h){return this.data[this.$tbody.find("> tr:not(.t-grouping-row,.t-detail-row,.t-grid-new-row)").index(c(h))]},bindTo:function(n){var k=new g.stringBuilder();var m=this.groups.length+this.columns.length+(this.detail?1:0);if(n&&n.length){this.normalizeColumns(m);if(typeof n[0].HasSubgroups!="undefined"){for(var h=0,j=n.length;h").cat("").cat(this.noRecordsTemplate?this.noRecordsTemplate:this.localization.noRecords).cat("")}this.$tbody.html(k.string());if(this.onRowDataBound){var o=jQuery.grep(this.$tbody[0].rows,function(i){return !c(i).hasClass("t-grouping-row")});for(var h=0,j=this.data.length;h=h).removeClass("t-state-hover");this.$pager.find(".t-arrow-prev").parent().add(this.$pager.find(".t-arrow-first").parent()).toggleClass("t-state-disabled",j==1).removeClass("t-state-hover");var i=this.localization;this.$pager.find(".t-page-i-of-n").each(function(){this.innerHTML=new g.stringBuilder().cat(i.page).cat(' ').cat(g.formatString(i.pageOf,h)).string()});this.$pager.find(".t-page-size").each(function(){var l='
    '+k+'select
    ';this.innerHTML=l});this.$pager.find(".t-numeric").each(c.proxy(function(m,l){this.numericPager(l,j,h)},this));this.$pager.parent().find(".t-status-text").text(g.formatString(i.displayingItems,this.firstItemInPage(),this.lastItemInPage(),this.total))},numericPager:function(i,o,p){var m=10;var k=1;if(o>m){var h=(o%m);k=(h==0)?(o-m)+1:(o-h)+1}var l=(k+m)-1;l=Math.min(l,p);var j=new g.stringBuilder();if(k>1){j.cat('
    ...')}for(var n=k;n<=l;n++){if(n==o){j.cat('').cat(n).cat("")}else{j.cat('').cat(n).cat("")}}if(l...')}i.innerHTML=j.string()},$columns:function(){return this.$header.find("th:not(.t-hierarchy-cell,.t-group-cell)")},updateSorting:function(){this.sorted=[];c.each(this.orderBy.split("~"),c.proxy(function(i,h){var j=h.split("-");var k=this.columnFromMember(j[0]);if(k){k.order=j[1];this.sorted.push(k)}},this));this.$columns().each(c.proxy(function(j,m){var k=this.columns[j].order;var h=c(m).children(".t-link");var l=h.children(".t-icon");if(!k){l.hide()}else{if(l.length==0){l=c('').appendTo(h)}l.toggleClass("t-arrow-up",k=="asc").toggleClass("t-arrow-down",k=="desc").html("("+(k=="asc"?this.localization.sortedAsc:this.localization.sortedDesc)+")").show()}},this))},sanitizePage:function(i){var h=parseInt(i,10);if(isNaN(h)||h<1){return this.currentPage}return Math.min(h,this.totalPages())},totalPages:function(){return Math.ceil(this.total/this.pageSize)},firstItemInPage:function(){return this.total>0?(this.currentPage-1)*this.pageSize+1:0},lastItemInPage:function(){return Math.min(this.currentPage*this.pageSize,this.total)},dataBind:function(h){this.data=[];this.bindTo(h);this.bindFooter();this.updatePager();this.updateSorting();g.trigger(this.element,"dataBound");g.trigger(this.element,"repaint")},bindFooter:function(){var i=this.$footer.find("td:not(.t-group-cell,.t-hierarchy-cell)");var h=this.aggregates;c.each(this.columns,function(j){if(this.footer){i.eq(j).html(this.footer(h[this.member]))}})},rebind:function(h){this.sorted=[];this.orderBy="";this.filterBy="";this.currentPage=1;c.each(this.columns,function(){this.order=null;this.filters=null});c(".t-filter-options",this.element).find('input[type="text"], select').val("").removeClass("t-state-error").end().find("div.t-formatted-value").html("");c(".t-grid-filter",this.element).removeClass("t-active-filter");this.ajaxRequest(h)}};g.grid.ButtonBuilder=function(h){this.classNames=["t-button","t-grid-"+h.name];this.content=function(){return h.text};this.build=function(){return'"+this.content()+""}};g.grid.ButtonBuilder.create=function(h){return new (e[h.buttonType])(h)};function b(i,h){return'"}g.grid.ImageButtonBuilder=function(h){g.grid.ButtonBuilder.call(this,h);this.classNames.push("t-button-icon");this.content=function(){return b(h.name,h.imageAttr)}};g.grid.ImageTextButtonBuilder=function(h){g.grid.ButtonBuilder.call(this,h);this.classNames.push("t-button-icontext");this.content=function(){return'"+h.text}};g.grid.BareImageButtonBuilder=function(h,i){g.grid.ImageButtonBuilder.call(this,h,i);this.classNames.push("t-button-icon","t-button-bare")};var e={Text:g.grid.ButtonBuilder,ImageAndText:g.grid.ImageTextButtonBuilder,Image:g.grid.ImageButtonBuilder,BareImage:g.grid.BareImageButtonBuilder};c.fn.tGrid=function(h){return g.create(this,{name:"tGrid",init:function(i,j){return new g.grid(i,j)},options:h,success:function(i){if(i.$tbody.find("tr.t-no-data").length){i.ajaxRequest()}}})};c.fn.tGrid.defaults={columns:[],plugins:[],currentPage:1,pageSize:10,localization:{addNew:"Add new record","delete":"Delete",cancel:"Cancel",insert:"Insert",update:"Update",select:"Select",pageOf:"of {0}",displayingItems:"Displaying items {0} - {1} of {2}",edit:"Edit",noRecords:"No records to display.",page:"Page ",filter:"Filter",filterClear:"Clear Filter",filterShowRows:"Show rows with value that",filterAnd:"And",filterStringEq:"Is equal to",filterStringNe:"Is not equal to",filterStringStartsWith:"Starts with",filterStringSubstringOf:"Contains",filterStringEndsWith:"Ends with",filterNumberEq:"Is equal to",filterNumberNe:"Is not equal to",filterNumberLt:"Is less than",filterNumberLe:"Is less than or equal to",filterNumberGt:"Is greater than",filterNumberGe:"Is greater than or equal to",filterDateEq:"Is equal to",filterDateNe:"Is not equal to",filterDateLt:"Is before",filterDateLe:"Is before or equal to",filterDateGt:"Is after",filterDateGe:"Is after or equal to",filterEnumEq:"Is equal to",filterEnumNe:"Is not equal to",filterBoolIsTrue:"is true",filterBoolIsFalse:"is false",filterSelectValue:"-Select value-",filterOpenPopupHint:"Open the calendar popup",groupHint:"Drag a column header and drop it here to group by that column",deleteConfirmation:"Are you sure you want to delete this record?",sortedAsc:"sorted ascending",sortedDesc:"sorted descending",ungroup:"ungroup"},queryString:{page:"page",size:"size",orderBy:"orderBy",groupBy:"groupBy",filter:"filter",aggregates:"aggregates"}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.reordering.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.reordering.min.js new file mode 100644 index 0000000..ebd3065 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.reordering.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.reordering={};b.reordering.initialize=function(d){d.$reorderDropCue=a('
    ');var c=d.$header.children("th").length-1;var e=function(i,l){var k=a.inArray(l,d.columns);d.columns.splice(k,1);d.columns.splice(i,0,l);h(d.$columns(),k,i);h(d.$tbody.parent().find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(d.$headerWrap.find("table").find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);var j=d.$footer.find("table");h(j.find("> colgroup > col:not(.t-group-col,.t-hierarchy-col)"),k,i);h(j.find("> tbody > tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)").add(d.$footer.find("tr.t-footer-template > td:not(.t-group-cell,.t-hierarchy-cell)")),k,i);a.each(d.$tbody.children(),function(){h(a(this).find(" > td:not(.t-group-cell, .t-hierarchy-cell, .t-detail-cell)"),k,i)})};d.reorderColumn=e;function f(i,k,l,j){g(i,k,l,j,"th","t-last-header");g(i,k,l,j,"td","t-last")}function g(j,l,k,m,i,n){if(k.is(i)&&m==c){j.addClass(n);k.removeClass(n)}if(j.is(i)&&l==c){j.removeClass(n).prev(i).addClass(n)}}function h(j,k,i){var l=j.eq(k);var m=j.eq(i);f(l,k,m,i);l[k>i?"insertBefore":"insertAfter"](m)}new b.draggable({owner:d.$header,selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",scope:d.element.id+"-reodering",cue:function(i){return b.dragCue(i.$draggable.text())},destroy:function(i){i.$cue.remove()}});new b.droppable({owner:d.$header,scope:d.element.id+"-reodering",selector:".t-header:not(.t-group-cell,.t-hierarchy-cell)",over:function(k){var i=a.trim(k.$draggable.text())==a.trim(k.$droppable.text());b.dragCueStatus(k.$cue,i?"t-denied":"t-add");var j=0;a("> .t-grid-top, > .t-grouping-header",d.element).each(function(){j+=a(this).outerHeight()});if(!i){d.$reorderDropCue.css({height:k.$droppable.outerHeight(),top:j,left:function(){return k.$droppable.position().left+((k.$droppable.index()>k.$draggable.index())?k.$droppable.outerWidth():0)}}).appendTo(d.element)}},out:function(i){d.$reorderDropCue.remove();b.dragCueStatus(i.$cue,"t-denied")},drop:function(k){d.$reorderDropCue.remove();if(k.$cue.find(".t-drag-status").is(".t-add")){var i=d.columnFromTitle(a.trim(k.$draggable.text()));var j=d.$columns().index(k.$droppable);b.trigger(d.element,"columnReorder",{column:i,oldIndex:a.inArray(i,d.columns),newIndex:j});e(j,i);b.trigger(d.element,"repaint")}}})}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.resizing.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.resizing.min.js new file mode 100644 index 0000000..c0f72e2 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.grid.resizing.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.resizing={};b.resizing.initialize=function(p){var c,o=a('
    '),i,d,h,l=3;function m(q,r){a("th, th .t-grid-filter, th .t-link",q).add(document.body).css("cursor",r)}function k(q){var r=0;a("> .t-grouping-header, > .t-grid-top",q).each(function(){r+=this.offsetHeight});return r}function e(t){var r=0;a(".t-resize-handle",p.element).each(function(){r+=a(this).data("th").outerWidth();a(this).css("left",r-l)});r=-p.$tbody.closest(".t-grid-content").scrollLeft();t.prevAll("th").add(t).each(function(){r+=this.offsetWidth});var q=p.scrollable?a(".t-grid-content",p.element):a("tbody",p.element);var s=q.attr(p.scrollable?"clientWidth":"offsetWidth");if(r>=s){o.remove()}else{o.css({left:r,top:k(p.element),height:t.outerHeight()+q.attr(p.scrollable?"clientHeight":"offsetHeight")});if(!o.parent().length){o.appendTo(p.element)}}}function j(r){var q=r.$draggable.data("th");c=a("colgroup",p.element).find("col:eq("+q.index()+")");h=r.pageX;d=q.outerWidth();i=p.$tbody.outerWidth()}function g(q){var r=d+q.pageX-h;if(r>10){c.css("width",r);if(p.scrollable){p.$tbody.parent().add(p.$headerWrap.find("table")).add(p.$footer.find("table")).css("width",i+q.pageX-h)}e(q.$draggable.data("th"))}}function f(s){o.remove();m(p.element,"");var r=s.$draggable.data("th");var q=r.outerWidth();if(p.onColumnResize&&q!=d){b.trigger(p.element,"columnResize",{column:p.columns[p.$columns().index(r)],oldWidth:d,newWidth:q})}return false}function n(){var r=0,q=p.element.id+"-column-resizing";var s=b.draggable.get(q);if(s){s._destroy()}p.$headerWrap.add(p.element).find("> .t-resize-handle").remove();p.$header.find(".t-header:visible:not(.t-group-cell)").each(function(){r+=this.offsetWidth;var t=a(this);a('
    ').css({left:r-l,top:p.scrollable?0:k(p.element),width:l*2}).appendTo(p.scrollable?p.$headerWrap:p.element).data("th",t).mousedown(function(){e(t);m(p.element,a(this).css("cursor"))}).mouseup(function(){m(p.element,"")})});new b.draggable({owner:p.element,selector:".t-resize-handle",scope:q,distance:0,start:j,drag:g,stop:f})}n();a(p.element).one("mouseenter",n).bind("repaint",n)}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.imagebrowser.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.imagebrowser.min.js new file mode 100644 index 0000000..5bd0143 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.imagebrowser.min.js @@ -0,0 +1 @@ +(function(i,o){var n=i.telerik,e=i.telerik.query;n.imageBrowser=function(q,r){this.element=q;this.wrapper=i(q);var t=r.filter||"*.png,*.gif,*.jpg,*.jpeg";var s=r.localization;this.wrapper.append('
    select
    ').append(k(s,r.uploadUrl,r.createDirectoryUrl,r.deleteFileUrl||r.deleteDirectoryUrl)).append('
      ');var u=this.wrapper.find(".t-breadcrumbs");var y=this.wrapper.find(".t-tiles");var v=this.wrapper.find(".t-search-wrap");if(r.uploadUrl){this.wrapper.find(".t-upload input").tUpload({async:{saveUrl:r.uploadUrl,autoUpload:true},multiple:false,onUpload:function(B){var C=new RegExp(("("+t.split(",").join(")|(")+")").replace(/\*\./g,".*."),"i");var A=B.files[0].name;if(C.test(A)){B.data={path:u.val()};y.trigger("t:upload",[{name:A},function(){B.preventDefault()}])}else{B.preventDefault();alert(n.formatString(s.invalidFileType,A,t))}},onError:function(A){A.preventDefault();y.trigger("t:error",[A.files[0]]);var B=A.XMLHttpRequest;if(n.ajaxError(r.element,"error",B,B.statusText)){return}},onSuccess:function(A){y.trigger("t:completeFile",[i.extend(A.response,{path:u.val()})])}})}new n.searchBox(v[0]);new n.fileListView(y[0],{thumbnailUrl:r.thumbUrl,localization:s});var w=new n.dropDown({effects:n.fx.slide.defaults(),onClick:function(A){i(q).find(".t-tiles-arrange a span:first").html(i(A.item).text());w.close();u.trigger("t:change")}});var z=[{Text:s.orderByName,Value:"name"},{Text:s.orderBySize,Value:"size"}];w.dataBind(z);this.wrapper.find(".t-tiles-arrange a").click(function(B){B.preventDefault();var A=i(this);w.open({offset:A.offset(),outerHeight:A.outerHeight(),outerWidth:A.outerWidth(),zIndex:n.getElementZIndex(this)})}).end().delegate(".t-button:not(.t-state-disabled):has(.t-delete)","click",function(){var A=y.find(".t-state-selected");if(A.length&&confirm(n.formatString(s.deleteFile,A.find("strong").text()))){i.ajax({type:"POST",url:A.data("kind")=="f"?r.deleteFileUrl:r.deleteDirectoryUrl,data:{path:A.data("url")},error:function(C,B){if(n.ajaxError(r.element,"error",C,B)){return}},success:function(){y.trigger("t:delete");i(q).find(".t-delete").parent().addClass("t-state-disabled")}})}}).delegate(".t-button:not(.t-state-disabled):has(.t-addfolder)","click",function(){y.trigger("t:createDirectory",[function(A){i.ajax({type:"POST",url:r.createDirectoryUrl,data:{path:u.val(),name:A},error:function(C,B){y.trigger("t:errorDirectory",{name:A});if(n.ajaxError(r.element,"error",C,B)){return}},success:function(){y.trigger("t:completeDirectory",{path:u.val(),name:A})}})}])});i(document.documentElement).bind("mousedown",function(B){var A=w.$element[0];if(!i.contains(A,B.target)){w.close()}});var x=new n.dataSource({error:function(A,C){var B=n.trigger(r.element,"error",{XMLHttpRequest:A,textStatus:C});if(!B){if(C=="error"){if(A.status=="404"){alert(r.localization.directoryNotFound)}else{if(A.status!="0"){alert("Error! The requested URL returned "+A.status+" - "+A.statusText)}}}else{if(C=="timeout"){alert("Error! Server timeout.")}}}},url:r.selectUrl,callback:function(B){i(q).find(".t-delete").parent().addClass("t-state-disabled");if(!u.val()){new n.breadcrumbs(u[0],{path:B.Path,roots:B.ContentPaths})}u.val(B.Path).trigger("t:refresh");var C=i(q).find(".t-tiles-arrange a span:first").text();var A=i.map(z,function(E){if(E.Text==C){return E.Value}})[0];var D=v.val();y.trigger("t:refresh",[B,A,D])}});v.bind("t:change",function(){u.trigger("t:change")});x.get({path:""});y.bind("t:select",function(A){if(A.kind=="d"){x.get({path:A.url})}else{r.apply(A)}}).bind("t:change",function(B){var C=i(q).find(".t-delete").parent().addClass("t-state-disabled");if(B.kind=="f"){var A=B.url;if(r.imageUrl){A=r.imageUrl+"?path="+A}i(q).parent().find("#t-editor-image-url").val(A)}if((B.kind=="f"&&r.deleteFileUrl)||(B.kind=="d"&&r.deleteDirectoryUrl)){C.removeClass("t-state-disabled")}});u.bind("t:change",function(){var A=i(this).val();if(!A.match(/\/$/)){A=A+"/"}x.get({path:A})})};function k(r,s,t,q){var v=!s?"":'
      '+r.uploadFile+'
      ',u=!t?"":'',w=!q?"":' ';return'
      '+v+u+w+'
      '+r.orderBy+' '+r.orderByName+'
      '}n.fileInfoReader=function(q){this._thumbnailUrl=q.thumbnailUrl||""};n.fileInfoReader.prototype={read:function(q,r){return r[q]||r[(q.charAt(0).toUpperCase()+q.substring(1))]},directories:function(q){return this.read("directories",q)},files:function(q){return this.read("files",q)},thumbUrl:function(q,r){return this._thumbnailUrl+"/?path="+q+r},size:function(s){var q=this.read("size",s);if(!q){return""}var r=" bytes";if(q>=1073741824){r=" GB";q/=1073741824}else{if(q>=1048576){r=" MB";q/=1048576}else{if(q>=1024){r=" KB";q/=1024}}}return Math.round(q*100)/100+r},name:function(q){return this.read("name",q)},path:function(q){return this.read("path",q)},concatPaths:function(q,r){if(q===o||!q.match(/\/$/)){q=(q||"")+"/"}return q+r}};n.fileListView=function(q,r){this.element=q;this.wrapper=i(q);this._localization=r.localization;this._reader=r.reader||new n.fileInfoReader({thumbnailUrl:r.thumbnailUrl});this._pageSize=r.pageSize||20;this.wrapper.bind({"t:refresh":i.proxy(this._refresh,this),"t:upload":i.proxy(this._upload,this),"t:completeFile":i.proxy(this._completeFile,this),"t:completeDirectory":i.proxy(this._completeDirectory,this),"t:delete":i.proxy(this._delete,this),"t:errorFile":i.proxy(this._errorFile,this),"t:errorDirectory":i.proxy(this._errorDirectory,this),"t:createDirectory":i.proxy(this._createDirectory,this),scroll:i.proxy(this._scroll,this)}).delegate("li[data-url]:not(.t-tile-empty)","click",i.proxy(this._click,this)).delegate("li[data-url]:not(.t-tile-empty)","dblclick",i.proxy(this._dblclick,this))};function d(q){return'
    • '+q.name+"
    • "}function m(q){return'
    • '+q+"
    • "}function h(q){return'
    • '+q.name+''+q.size+"";"
    • "}function l(q){return'
    • '+q.name+"
    • "}function p(q){return'
    • '}function b(r){var s=i(r);var q=i("",{src:s.data("thumbUrl"),alt:s.data("filename")}).hide().bind("load",function(){i(this).prev().remove().end().fadeIn()});s.find(".t-loading").after(q);r.loaded=true}if(i.browser.msie&&parseFloat(i.browser.version)<8){var a=function(q){return q.offsetTop}}else{var a=function(q){return q.offsetTop-i(q).height()}}var f=/(\:|\^|\$|\/|\.|\+|\||\(|\)|\[|\]|\{|\}|\\)/g,j=/\*/g,c=/\?/g;function g(q){return new RegExp(q.replace(f,"\\$1").replace(j,".*").replace(c,".?"),"ig")}n.fileListView.prototype={bindTo:function(r,t,s){this._filter=s;var x=this._reader;this.wrapper.empty();var q=e(this._reader.directories(r)||[]);var v=e(this._reader.files(r)||[]);if(s){var y=g(s);var w=function(A){return y.test(x.name(A))};q=q.where(w);v=v.where(w)}var z=function(A){return x[t](A)};this._data=this._process(this._reader.path(r),q.orderBy(z),v.orderBy(z));var u=this._data.select(function(A){return A.kind=="f"?h(A):l(A)}).toArray().join("");this.wrapper.append(u);this._tiles=this.wrapper.find("li[data-kind=f]");this._scroll();this._asEmpty()},_asEmpty:function(){if(!this._data.any()&&!this._filter){this.wrapper.append(m(this._localization.emptyFolder))}},_completeFile:function(u,r){var t=this._reader.name(r);var q=this._reader.path(r);var s=i(h({kind:"f",thumbUrl:this._reader.thumbUrl(q,t),url:this._reader.concatPaths(q,t),name:t,size:this._reader.size(r)}));this.wrapper.find("li").eq(this.fileIndex(t)).replaceWith(s);b(s[0]);s.click()},_completeDirectory:function(u,r){var t=this._reader.name(r);var q=this._reader.path(r);var s=i(l({kind:"d",url:this._reader.concatPaths(q,t),name:t}));this.wrapper.find("li").eq(this.directoryIndex(t)).replaceWith(s)},_delete:function(){var q=this.wrapper.find(".t-state-selected");if(q.length){var r=this._data.toArray();r.splice(q.index(),1);this._data=e(r);q.remove();this._scroll();this._asEmpty()}},_scroll:function(q){clearTimeout(this._timeout);this._timeout=setTimeout(i.proxy(function(){var r=this.wrapper.outerHeight();var t=this.wrapper.scrollTop();var s=t+r;this._tiles.each(function(){var v=a(this);var u=v+this.offsetHeight;if((v>=t&&v=t&&us){return false}});this._tiles=this._tiles.filter(function(){return !this.loaded})},this),250)},_upload:function(u,q,v){var s=this.fileIndex(q.name);if(s>-1&&!confirm(n.formatString(this._localization.overwriteFile,q.name))){v()}else{this.wrapper.find(".t-tile-empty").remove();var w=i(d(q));if(s>-1){w.data("existing",true);this.wrapper.find("li").eq(s).replaceWith(w)}else{var t=this.wrapper.find("li[data-kind=f]:first");if(t.length){t.before(w)}else{this.wrapper.append(w)}var r=this._data.toArray();r.splice(w.index(),0,{name:q.name,kind:"f"})}this.wrapper.scrollTop(w.attr("offsetTop")-this.element.offsetHeight)}},_nameDirectory:function(){var t="New folder";var s=this._data.where(function(u){return u.kind=="d"&&u.name.indexOf(t)>-1}).select(function(u){return u.name}).toArray();if(i.inArray(t,s)>-1){var r=2;do{var q=t+" ("+r+")";r++}while(i.inArray(q,s)>-1);t=q}return t},_createDirectory:function(u,r){var t=this._nameDirectory();var w=i(p(t));var v=this.wrapper.find("li[data-kind=f]:first");if(v.length){v.before(w)}else{this.wrapper.append(w)}var q=this._data.toArray();var s=w.addClass("t-state-selected").siblings().removeClass("t-state-selected").end().find("input").keydown(function(x){if(x.keyCode==13){this.blur()}}).blur(i.proxy(function(x){var y=i.trim(x.target.value);if(!y||this._data.any(function(z){return z.kind=="d"&&z.name.toLowerCase()==y.toLowerCase()})){y=this._nameDirectory()}q.splice(w.index(),0,{name:y,kind:"d"});i(x.target).replaceWith(""+y+"");r(y)},this));setTimeout(function(){s.select()});this.wrapper.find(".t-tile-empty").remove();this.wrapper.scrollTop(w.attr("offsetTop")-this.element.offsetHeight)},_errorFile:function(u,s){var q=this.fileIndex(s.name);if(q>-1){var r=this.wrapper.find("li").eq(q);if(r.data("existing")){var t=i(h(this._data.toArray()[q]));r.replaceWith(t);b(t[0])}else{r.remove();this._data.toArray().splice(q,1)}this._asEmpty()}},_errorDirectory:function(s,r){var q=this.directoryIndex(r.name);if(q>-1){this.wrapper.find("li").eq(q).remove();this._data.toArray().splice(q,1);this._asEmpty()}},fileIndex:function(q){return this._index("f",q)},directoryIndex:function(q){return this._index("d",q)},_index:function(s,t){var q=-1,r=this._data?this._data.toArray():[];t=t.toLowerCase();i.each(r,function(u,v){if(v.kind==s&&v.name.toLowerCase()==t){q=u;return false}});return q},_raise:function(s,q){var r=i(s.currentTarget);n.trigger(this.wrapper,q,{kind:r.data("kind"),url:r.data("url")})},_click:function(q){i(q.currentTarget).addClass("t-state-selected").siblings().removeClass("t-state-selected");this._raise(q,"t:change")},_dblclick:function(q){if(document.selection&&document.selection.empty){document.selection.empty()}this._raise(q,"t:select")},_refresh:function(t,q,s,r){this.bindTo(q,s,r)},_process:function(s,q,r){var t=this._reader;var q=q.select(function(u){return{url:t.concatPaths(s,t.name(u)),name:t.name(u),kind:"d"}});var r=r.select(function(u){var v=t.name(u);return{url:t.concatPaths(s,v),name:v,kind:"f",thumbUrl:t.thumbUrl(s,v),size:t.size(u)}});return q.concat(r)}};n.dataSource=function(q){this._url=q.url;this._callback=q.callback;this._error=q.error};n.dataSource.prototype={_complete:function(q){if(this._callback){this._callback(q)}},get:function(q){i.ajax({type:"POST",url:this._url,data:q,success:i.proxy(this._complete,this),error:this._error})}};n.breadcrumbs=function(r,s){this.element=r;this.wrapper=i(r);this._gap=s.gap||50;this._initPaths(s.path);var q=new n.dropDown({effects:n.fx.slide.defaults(),onClick:i.proxy(function(t){var u=i(t.item).text();q.close();this._initPaths(u);i(r).val(u).trigger("t:change")},this)});q.dataBind(s.roots);this.wrapper.delegate("input","focus",i.proxy(this._focus,this)).delegate("input","blur",i.proxy(this._blur,this)).delegate("input","keydown",i.proxy(function(t){if(t.keyCode==13){this._blur()}},this)).delegate("a:not(.t-first)","click",n.stopAll(this._click,this)).delegate(".t-select","click",function(){var t=i(r);q.open({offset:t.offset(),outerHeight:t.outerHeight(),outerWidth:t.outerWidth(),zIndex:n.getElementZIndex(this)})}).bind("t:refresh",i.proxy(this.refresh,this));i(document.documentElement).bind("mousedown",function(u){var t=q.$element[0];if(!i.contains(t,u.target)){q.close()}});this.value(s.path)};n.breadcrumbs.prototype={_initPaths:function(q){this._basePath=(q||"").replace(/\/{2,}/g,"/").replace(/\/$/,"");q=this._basePath.split("/");q.pop();this._root=q.join("/")},_html:function(){var r=this._basePath.split("/").length-1;var q=this.value();if(q===o||!q.match(/^\//)){q="/"+(q||"")}return'
      '+i.map(q.split("/"),function(t,s){if(t&&s>=r){return''+t+""}}).join('>')+'
      select
      '},_path:function(q){return this._root+"/"+i.map(q,function(r){return i(r).text()}).join("/")},_update:function(q){q=q.charAt(0)==="/"?q:"/"+q;var r=this.value()!=q;this.value(q);if(r){this.wrapper.trigger("t:change")}},value:function(q){if(q!==o){this.wrapper.val(q.replace(/\/{2,}/g,"/"));this.refresh()}else{return this.wrapper.val()}},_click:function(q){this._update(this._path(i(q.target).prevAll("a").andSelf()))},refresh:function(){this.wrapper.empty().append(this._html());var r=this.wrapper.width()-this._gap;var q=this.wrapper.find("a");q.each(function(t){var s=i(this);if(s.parent().width()>r){if(t==q.length-1){s.width(r)}else{s.prev().andSelf().hide()}}})},_focus:function(){var q=this.wrapper.find(".t-breadcrumbs-wrap").hide().end().find("input").val(this.value());setTimeout(function(){q.select()})},_blur:function(){var q=this.wrapper.find("input").val().replace(/\/{2,}/g,"/");if(!q||q.toLowerCase().indexOf(this._basePath.toLowerCase())<0){q=this._basePath}this._update(q)}};n.searchBox=function(q){this.element=q;this.wrapper=i(q);this.wrapper.delegate("input","focus",i.proxy(this._focus,this)).delegate("input","blur",i.proxy(this._blur,this)).delegate("input","keydown",i.proxy(function(r){if(r.keyCode==13){this._blur()}},this)).delegate("a","click",n.stopAll(this._click,this));this._render()};n.searchBox.prototype={_render:function(){var q='search';this.wrapper.empty().append(i(q))},_focus:function(){this.wrapper.find("label").hide()},_blur:function(){this._update(this.wrapper.find("input").val());if(this.value()==""){this.wrapper.find("label").show()}},_update:function(q){var r=this.value()!=q;this.value(q);if(r){this.wrapper.trigger("t:change")}},value:function(q){if(q!==o){this.wrapper.val(q)}else{return this.wrapper.val()}},_click:function(){this._blur()}}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.list.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.list.min.js new file mode 100644 index 0000000..15e8bb9 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.list.min.js @@ -0,0 +1 @@ +(function(e){var a=e.telerik;var b=/\s+/;a.list={htmlBuilder:function(g,f,h){var k,n,l=g.id,m=g.name,o=new a.stringBuilder(),i=e(g);if(h){n=i.find("option:selected").text();k=i.val()}else{n=g.value}function j(){return e(['
      '].join(" "))}this.render=function(){i.wrap(j()).hide();var p=e('
      ').insertBefore(i);this.text({builder:o,text:n,id:l,name:m}).appendTo(p);e('select').appendTo(p);if(h){o.buffer=[];e(o.cat('").string()).insertAfter(p)}};this.text=function(p){return e(['',p.text||" ",""].join(""))}},initialize:function(){this.previousValue=this.value();a.bind(this,{dataBinding:this.onDataBinding,dataBound:this.onDataBound,error:this.onError,open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})},common:function(){this.open=function(){if(this.data.length==0){return}var g=this.$wrapper||this.$element,f=this.dropDown;var h={offset:g.offset(),outerHeight:g.outerHeight(),outerWidth:g.outerWidth(),zIndex:a.getElementZIndex(g[0])};if(f.$items){f.open(h)}else{this.fill(function(){f.open(h)})}};this.close=function(){this.dropDown.close()};this.dataBind=function(h,f){this.data=h=(h||[]);var l=-1,j=!!this.loader.isAjax();for(var g=0,k=h.length;g-1&&j0){m.filters[k](m,f,j);var g=m.filteredDataIndexes;if((g&&g.length>0)||(k==0&&m.selectedIndex!=-1)){s=false}}if(s){var p={};p[m.queryString.text]=j;m.loader.ajaxRequest(function(w){var v=m.trigger;var x=m.dropDown;if(w&&w.length==0){x.close();x.dataBind();return}if(m.encoded&&!m.onDataBinding){for(var t=0,y=w.length;t0){if(!x.isOpened()){v.open()}m.filtering.autoFill(m,u.first().text())}else{v.close()}},{data:p})}}else{s=false;m.filters[k](m,m.data,j)}if(!s){var r=l.$items;if(!r){return}var h=r.length,i=m.selectedIndex;var n=k==0?i!=-1?r[i].innerText||r[i].textContent:"":r.length>0?r.first().text():"";this.autoFill(m,n);if(h==0){o.close()}else{if(!l.isOpened()){o.open()}}}};this.multiple=function(f){return f}},filters:function(){this.filters=[function f(g,k,n){if(!k||k.length==0){return}var l=g.dropDown;var j=l.$items;if(!j||j.length==0||g.loader.isAjax()){l.dataBind(k);j=l.$items}for(var h=0,m=k.length;h .t-dropdown-wrap .t-icon").addClass("t-loading")},this),100)},this.hideBusy=function(){clearTimeout(this.busyTimeout);this.component.$wrapper.find("> .t-dropdown-wrap .t-icon").removeClass("t-loading")}},trigger:function(f){this.component=f;this.change=function(){var g=f.previousValue;var h=f.value();if(g==undefined||h!=g){a.trigger(f.element,"valueChange",{value:h})}f.previousValue=h};this.open=function(){var g=f.dropDown;if((g.$items&&g.$items.length>0)&&!g.isOpened()&&!a.trigger(f.element,"open")){f.open()}};this.close=function(){if(!f.dropDown.$element.is(":animated")&&f.dropDown.isOpened()&&!a.trigger(f.element,"close")){f.close()}}},retrieveData:function(l){var k=[];var h=e(l).find("option");for(var f=0,g=h.length;f]*)("+l.replace(/([\^\$\(\)\[\]\{\}\*\.\+\?\|\\])/gi,"\\$1")+")(?![^<>]*>)(?![^&;]+;)",f?"ig":"i");h.filteredDataIndexes=j;h.selectedIndex=-1;h.dropDown.onItemCreate=function(n){if(l){n.html=n.html.replace(m,"$1")}};h.dropDown.dataBind(e.map(j,function(o,n){return k[o]}));var i=h.dropDown.$items;i.removeClass("t-state-selected");a.list.highlightFirstOnFilter(h,i)}}function c(f,h,k){if(!f||!h){return null}var l=k.length;k=k.toLowerCase();for(var g=0,j=f.length;g .t-dropdown-wrap > .t-input");if(!this.$wrapper.attr("tabIndex")){this.$wrapper.attr("tabIndex",0)}this.dropDown=new a.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:e.proxy(function(n){this.select(n.item);this.trigger.change();this.trigger.close();this.$wrapper.focus()},this)});this.dropDown.$element.css("direction",this.$wrapper.closest(".t-rtl").length?"rtl":"");this.fill=function(q){function p(s){var r,u=s.selectedValue||s.value();if(u){r=function(x){return u==(x.Value||x.Text)}}else{var t=s.dropDown.$items,v=s.index,w=t.filter(".t-state-selected").length;r=v!=-1&&v0?w-1:0}s.select(r)}var n=this.dropDown,o=this.loader;if(!n.$items&&!o.ajaxError){if(o.isAjax()){o.ajaxRequest(function(r){this.dataBind(r);p(this);a.trigger(this.element,"dataBound");this.trigger.change();if(q){q()}})}else{this.dataBind(this.data);p(this);if(q){q()}}}};this.enable=function(){this.$wrapper.removeClass("t-state-disabled").bind({keydown:e.proxy(k,this),keypress:e.proxy(l,this),click:e.proxy(function(p){var o=this.trigger;var n=this.dropDown;this.$wrapper.focus();if(n.isOpened()){o.close()}else{if(!n.$items){this.fill(o.open)}else{o.open()}}},this)})};this.disable=function(){this.$wrapper.addClass("t-state-disabled").unbind()};this.reload=function(){this.dropDown.$items=null;this.fill()};this.select=function(o){var n=this.highlight(o);if(n==-1){return n}this.selectedIndex=n;a.list.updateTextAndValue(this,this.data[n].Text,this.data[n].Value)};this.text=function(n){if(n!==undefined){this.$text.html(n&&n.replace(b,"")?n:"  ")}else{return this.$text.html()}};this.value=function(o){if(o!==undefined){var n=this.select(function(p){return o==p.Value});if(n==-1){n=this.select(function(p){return o==p.Text})}if(n!=-1){this.previousValue=o}}else{return this.$element.val()}};a.list.common.call(this);a.list.initialize.call(this);e(document.documentElement).bind("mousedown",e.proxy(function(p){var n=this.dropDown.$element;var o=n&&n.parent().length>0;if(e.contains(this.$wrapper[0],p.target)||(o&&e.contains(n.parent()[0],p.target))){return}this.trigger.change();this.trigger.close()},this));this[this.enabled?"enable":"disable"]();function j(){clearTimeout(this.timeout);this.timeout=setTimeout(e.proxy(function(){i=""},this),1000)}function k(t){var q=this.trigger;var o=this.dropDown;var r=t.keyCode||t.which;if(t.altKey&&r==38){q.close();return}if(t.altKey&&r==40){q.open();return}if(r>34&&r<41){t.preventDefault();if(!o.$items){this.fill();return}var p=o.$items,s=e(p[this.selectedIndex]);var n=(r==35)?p.last():(r==36)?p.first():(r==37||r==38)?s.prev():(r==39||r==40)?s.next():[];if(n.length){var u=n[0];this.select(u);o.scrollTo(u);if(!o.isOpened()){q.change()}}}if(r==8){j();t.preventDefault();i=i.slice(0,-1)}if(r==9||r==13||r==27){q.change();q.close()}}function l(r){var n=this.dropDown;var o=r.keyCode||r.charCode;if(o==0||e.inArray(o,a.list.keycodes)!=-1||r.ctrlKey||r.altKey||r.shiftKey){return}if(!n.$items){this.fill();return}var p=i;p+=String.fromCharCode(o);if(p){var q=c(this.data,n.$items,p);if(q){this.select(q);n.scrollTo(q)}i=p}j()}};e.fn.tDropDownList=function(f){return a.create(this,{name:"tDropDownList",init:function(g,h){return new a.dropDownList(g,h)},options:f})};e.fn.tDropDownList.defaults={effects:a.fx.slide.defaults(),accessible:false,index:0,enabled:true,encoded:true}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.menu.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.menu.min.js new file mode 100644 index 0000000..745beba --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.menu.min.js @@ -0,0 +1 @@ +(function(d){var a=d.telerik;a.menu=function(e,f){this.element=e;this.nextItemZIndex=100;d.extend(this,f);d(".t-item:not(.t-state-disabled)",e).live("mouseenter",a.delegate(this,this.mouseenter),true).live("mouseleave",a.delegate(this,this.mouseleave),true).live("click",a.delegate(this,this.click));d(".t-item").live("click",a.delegate(this,this.click));d(".t-item:not(.t-state-disabled) > .t-link",e).live("mouseenter",a.hover).live("mouseleave",a.leave);d(document).click(a.delegate(this,this.documentClick));a.bind(this,{select:this.onSelect,open:this.onOpen,close:this.onClose,load:this.onLoad})};function b(e){var f=e.parent();return{direction:f.hasClass("t-menu")?f.hasClass("t-menu-vertical")?"right":"bottom":"right"}}function c(f,g){try{return d.contains(f,g)}catch(h){return false}}a.menu.prototype={toggle:function(f,e){d(f).each(function(){d(this).toggleClass("t-state-default",e).toggleClass("t-state-disabled",!e)})},enable:function(e){this.toggle(e,true)},disable:function(e){this.toggle(e,false)},open:function(f){var e=this;d(f).each(function(){var g=d(this);clearTimeout(g.data("timer"));g.data("timer",setTimeout(function(){var h=g.find(".t-group:first");if(h.length){a.fx.play(e.effects,h,b(g));g.css("z-index",e.nextItemZIndex++)}},100))})},close:function(f){var e=this;d(f).each(function(h,i){var g=d(i);clearTimeout(g.data("timer"));g.data("timer",setTimeout(function(){var j=g.find(".t-group:first");if(j.length){a.fx.rewind(e.effects,j,b(g),function(){g.css("zIndex","");if(d(e.element).find(".t-group:visible").length==0){e.nextItemZIndex=100}});j.find(".t-group").stop(false,true)}},100))})},mouseenter:function(i,h){var g=d(h);if(!this.openOnClick||this.clicked){if(!c(h,i.relatedTarget)){this.triggerEvent("open",g);this.open(g);var f=g.parent().closest(".t-item")[0];if(f&&!c(f,i.relatedTarget)){this.mouseenter(i,f)}}}if(this.openOnClick&&this.clicked){this.triggerEvent("close",g);g.siblings().each(d.proxy(function(j,e){this.close(d(e))},this))}},mouseleave:function(i,h){if(!this.openOnClick&&!c(h,i.relatedTarget)){var g=d(h);this.triggerEvent("close",g);this.close(g);var f=g.parent().closest(".t-item")[0];if(f&&!c(f,i.relatedTarget)){this.mouseleave(i,f)}}},click:function(h,g){h.stopPropagation();var f=d(g);if(f.hasClass("t-state-disabled")){h.preventDefault();return}a.trigger(this.element,"select",{item:f[0]});if(!f.parent().hasClass("t-menu")||!this.openOnClick){return}h.preventDefault();this.clicked=true;this.triggerEvent("open",f);this.open(f)},documentClick:function(g,f){if(d.contains(this.element,g.target)){return}if(this.clicked){this.clicked=false;d(this.element).children(".t-item").each(d.proxy(function(e,h){this.close(d(h))},this))}},hasChildren:function(e){return e.find(".t-group:first").length},triggerEvent:function(e,f){if(this.hasChildren(f)){a.trigger(this.element,e,{item:f[0]})}}};d.fn.tMenu=function(e){return a.create(this,{name:"tMenu",init:function(f,g){return new a.menu(f,g)},options:e})};d.fn.tMenu.defaults={orientation:"horizontal",effects:a.fx.slide.defaults(),openOnClick:false}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.panelbar.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.panelbar.min.js new file mode 100644 index 0000000..641357a --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.panelbar.min.js @@ -0,0 +1 @@ +(function(c){var a=c.telerik,b={single:0,multi:1};c.extend(a,{panelbar:function(f,g){this.element=f;c.extend(this,g);var h=c(f),e=h.find("li.t-state-active > .t-content"),d=".t-item:not(.t-state-disabled) > .t-link";h.delegate(d,"click",c.proxy(this._click,this)).delegate(d,"mouseenter",a.hover).delegate(d,"mouseleave",a.leave).delegate(".t-item.t-state-disabled > .t-link","click",a.preventDefault);a.bind(this,{expand:this.onExpand,collapse:this.onCollapse,select:c.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),error:this.onError,load:this.onLoad});if(this.contentUrls){h.find("> .t-item").each(c.proxy(function(i,j){c(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}if(e.length>0&&e.is(":empty")){this.expand(e.parent())}}});a.panelbar.prototype={expand:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").length>0){if(this.expandMode==b.single&&this._collapseAllExpanded(e)){return}this._toggleItem(e,false,null)}},this))},collapse:function(d){c(d).each(c.proxy(function(f,g){var e=c(g);if(!e.hasClass(".t-state-disabled")&&e.find("> .t-group, > .t-content").is(":visible")){this._toggleItem(e,true,null)}},this))},toggle:function(e,d){c(e).each(function(){c(this).toggleClass("t-state-default",d).toggleClass("t-state-disabled",!d)})},enable:function(d){this.toggle(d,true)},disable:function(d){this.toggle(d,false)},_click:function(m){var f=c(m.target),g=this.element;if(f.closest(".t-widget")[0]!=g){return}var d=f.closest(".t-link"),j=d.closest(".t-item");c(".t-state-selected",g).removeClass("t-state-selected");d.addClass("t-state-selected");if(a.trigger(g,"select",{item:j[0]})){m.preventDefault()}var l=j.find("> .t-content, > .t-group"),h=d.attr("href"),k=d.data("ContentUrl")||(h&&(h.charAt(h.length-1)=="#"||h.indexOf("#"+g.id+"-")!=-1));if(k||l.length>0){m.preventDefault()}else{return}if(this.expandMode==b.single){if(this._collapseAllExpanded(j)){return}}if(l.length!=0){var i=l.is(":visible");if(!a.trigger(g,!i?"expand":"collapse",{item:j[0]})){this._toggleItem(j,i,m)}}},_toggleItem:function(f,h,i){var j=f.find("> .t-group");if(j.length){this._toggleGroup(j,h);if(i!=null){i.preventDefault()}}else{var g=f.parent().children().index(f),d=f.find("> .t-content");if(d.length){if(i!=null){i.preventDefault()}if(!d.is(":empty")){this._toggleGroup(d,h)}else{this._ajaxRequest(f,d,h)}}}},_toggleGroup:function(d,e){if(d.data("animating")){return}d.data("animating",true).parent().toggleClass("t-state-default",e).toggleClass("t-state-active",!e).find("> .t-link > .t-icon").toggleClass("t-arrow-up",!e).toggleClass("t-panelbar-collapse",!e).toggleClass("t-arrow-down",e).toggleClass("t-panelbar-expand",e);a.fx[!e?"play":"rewind"](this.effects,d,null,function(){d.data("animating",false)})},_collapseAllExpanded:function(d){if(d.find("> .t-link").hasClass("t-header")){if(d.find("> .t-content, > .t-group").is(":visible")||d.find("> .t-content, > .t-group").length==0){return true}else{c(this.element).children().find("> .t-content, > .t-group").filter(function(){return c(this).is(":visible")}).each(c.proxy(function(f,e){this._toggleGroup(c(e),true)},this))}}},_ajaxRequest:function(f,d,h){var i=f.find(".t-panelbar-collapse, .t-panelbar-expand"),e=f.find(".t-link"),g=setTimeout(function(){i.addClass("t-loading")},100),j={};c.ajax({type:"GET",cache:false,url:e.data("ContentUrl")||e.attr("href"),dataType:"html",data:j,error:c.proxy(function(l,k){if(a.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(g);i.removeClass("t-loading")},success:c.proxy(function(k,l){d.html(k);this._toggleGroup(d,h)},this)})}};c.fn.tPanelBar=function(d){return a.create(this,{name:"tPanelBar",init:function(e,f){return new a.panelbar(e,f)},options:d})};c.fn.tPanelBar.defaults={effects:a.fx.property.defaults("height")}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.slider.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.slider.min.js new file mode 100644 index 0000000..740e834 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.slider.min.js @@ -0,0 +1 @@ +(function(f){var k=f.telerik;k.slider=function(n,o){var p=f(n);this.element=n;o.distance=o.maxValue-o.minValue;f.extend(this,o);o.position=this.orientation=="horizontal"?"left":"bottom";o.size=this.orientation=="horizontal"?"width":"height";o.orientation=this.orientation;j(n,o);this.wrapper=p.closest(".t-slider");this.trackDiv=this.wrapper.find(".t-slider-track");k.slider.setTrackDivWidth(this.wrapper,o);this.maxSelection=this.trackDiv[o.size]();var l=this.maxSelection/((this.maxValue-this.minValue)/this.smallStep);if(o.tickPlacement!="none"&&l>=2){this.trackDiv.before(a(o));k.slider.setItemsWidth(this.wrapper,this.trackDiv,o);k.slider.setItemsTitle(this.wrapper,o);k.slider.setItemsLargeTick(this.wrapper,o)}else{this.pixelStepsArray=k.slider.getPixelSteps(this.trackDiv,o)}var m={element:n,dragHandle:this.wrapper.find(".t-draghandle"),orientation:o.orientation,size:o.size,position:o.position,owner:this};this._setValueInRange(o.val);this[o.enabled?"enable":"disable"]();new k.slider.Selection(m);new k.slider.Drag(m);this.keyMap={37:g(o.smallStep),40:g(o.smallStep),39:h(o.smallStep),38:h(o.smallStep),35:d(o.maxValue),36:d(o.minValue),33:h(o.largeStep),34:g(o.largeStep)};k.bind(this,{slide:this.onSlide,change:this.onChange,load:this.onLoad})};f.extend(k.slider,{setTrackDivWidth:function(n,o){var m=n.find(".t-slider-track");var l=parseFloat(m.css(o.position),10)*2;m[o.size]((n[o.size]()-2)-l)},setItemsWidth:function(t,p,m){var l=Math.floor(m.distance/m.smallStep),r=t.find(".t-tick"),q=0,s=p[m.size]();var o=this.calculateItemsWidth(t,m,l);if(m.orientation=="horizontal"){for(var n=0;n=0;l--){f(p[l]).attr("title",k.formatString(o.tooltip.format||"{0}",parseFloat(m.toFixed(3),10)));m+=o.smallStep}}},setItemsLargeTick:function(q,n){if((1000*n.largeStep)%(1000*n.smallStep)==0){var p=q.find(".t-tick"),o={},l=parseFloat((n.largeStep/n.smallStep).toFixed(3),10);if(n.orientation=="horizontal"){for(var m=0;m").html(o.attr("title")))}}else{for(var m=p.length-1;m>=0;m=parseFloat((m-l).toFixed(3),10)){o=f(p[m]);o.addClass("t-tick-large").html(f("").html(o.attr("title")));if(m!=0&&m!=p.length-1){o.css("line-height",o[n.size]()+"px")}}}}},calculateItemsWidth:function(s,n,m){var r=parseFloat(s.find(".t-slider-track").css(n.size))+1,o=r/n.distance;if((n.distance/n.smallStep)-Math.floor(n.distance/n.smallStep)>0){r-=((n.distance%n.smallStep)*o)}var l=r/m,q=new Array();for(var p=0;p=r){while(p>l){p-=l;m+=q.smallStep}}return parseFloat((q.minValue+m).toFixed(3))},getDragableArea:function(m,n,l){var p=m.offset().left,o=m.offset().top;return{startPoint:l=="horizontal"?p:o+n,endPoint:l=="horizontal"?p+n:o}},fixDragHandlePosition:function(q,r,m){var o=q-m.owner.minValue,n=0;if(q==m.owner.minValue||q==m.owner.maxValue){if(q==m.owner.maxValue){n=m.owner.maxSelection}}else{var p=parseInt(((m.orientation=="horizontal"?o:m.owner.maxValue-q)/m.owner.smallStep).toFixed(3)),u=f(r.find(".t-tick")[p]),s=u[m.size]()/2,t=u.offset(),l=k.slider.getDragableArea(m.owner.trackDiv,m.owner.maxSelection,m.orientation);if(m.orientation=="horizontal"){n=t.left-l.startPoint+s}else{n=(l.startPoint-(t.top+s))+1;if(!f.browser.mozilla){n+=(n-Math.floor(n))>0?1:0}}}return n}});function h(l){return function(m){return m+l}}function g(l){return function(m){return m-l}}function d(l){return function(){return l}}k.slider.prototype={enable:function(){this.wrapper.removeAttr("disabled").removeClass("t-state-disabled").addClass("t-state-default");var l=f.proxy(function(p){var o=this.orientation=="horizontal"?p.pageX:p.pageY,n=k.slider.getDragableArea(this.trackDiv,this.maxSelection,this.orientation);this._update(k.slider.getValueFromPosition(o,n,this))},this);this.wrapper.find(".t-tick").bind("click",l).end().find(".t-slider-track").bind("click",l);if(this.showButtons){var m=f.proxy(function(n,o){if(n.which==1){this._setValueInRange(this.val+(o*this.smallStep));this.timeout=setTimeout(f.proxy(function(){this.timer=setInterval(f.proxy(function(){this._setValueInRange(this.val+(o*this.smallStep))},this),60)},this),200)}},this);this.wrapper.find(".t-button").unbind("mousedown").unbind("mouseup").bind("mouseup",f.proxy(function(n){this._clearTimer()},this)).unbind("mouseover").bind("mouseover",function(n){f(n.currentTarget).addClass("t-state-hover")}).unbind("mouseout").bind("mouseout",f.proxy(function(n){f(n.currentTarget).removeClass("t-state-hover");this._clearTimer()},this)).eq(0).bind("mousedown",f.proxy(function(n){m(n,1)},this)).end().eq(1).bind("mousedown",f.proxy(function(n){m(n,-1)},this))}this.wrapper.find(".t-draghandle").bind({keydown:f.proxy(this._keydown,this)});this.enabled=true},disable:function(){this.wrapper.attr("disabled","disabled").removeClass("t-state-default").addClass("t-state-disabled");var l=k.preventDefault;this.wrapper.find(".t-button").unbind("mousedown").bind("mousedown",l).unbind("mouseup").bind("mouseup",l).unbind("mouseleave").bind("mouseleave",l).unbind("mouseover").bind("mouseover",l);this.wrapper.find(".t-tick").unbind("click").end().find(".t-slider-track").unbind("click");this.wrapper.find(".t-draghandle").unbind("keydown").bind("keydown",l);this.enabled=false},_update:function(l){var m=this.value()!=l;this.value(l);if(m){k.trigger(this.element,"change",{value:this.val})}},value:function(l){l=parseFloat(parseFloat(l,10).toFixed(3),10);if(isNaN(l)){return this.val}if(l>=this.minValue&&l<=this.maxValue){if(this.val!=l){f(this.element).val(l);this.val=l;this.refresh()}}},refresh:function(){k.trigger(this.element,"t:moveSelection",{value:this.val})},_clearTimer:function(l){clearTimeout(this.timeout);clearInterval(this.timer)},_keydown:function(l){if(l.keyCode in this.keyMap){this._setValueInRange(this.keyMap[l.keyCode](this.val));l.preventDefault()}},_setValueInRange:function(l){l=parseFloat(parseFloat(l,10).toFixed(3),10);if(isNaN(l)){this._update(this.minValue);return}l=Math.max(l,this.minValue);l=Math.min(l,this.maxValue);this._update(l)}};k.slider.Selection=function(n){var o=f(n.element);function m(s){var r=s-n.owner.minValue,t=n.owner.wrapper.find(".t-slider-items"),p=0,q=0;if(t.length!=0){q=k.slider.fixDragHandlePosition(s,t,n)}else{if(n.owner.pixelStepsArray.length==0){q=0}else{while(r>0){r=parseFloat((r-n.owner.smallStep).toFixed(5),10);q+=n.owner.pixelStepsArray[p];p++}}}var v=n.owner.trackDiv.find(".t-slider-selection"),u=parseInt(n.dragHandle[n.size]()/2,10)+1;v[n.size](q);n.dragHandle.css(n.position,q-u)}m(parseFloat(o.val(),10));var l=function(p){m(parseFloat(p.value,10))};o.bind({change:l,slide:l,"t:moveSelection":l})};k.slider.Drag=function(m){m.dragHandleSize=m.dragHandle[m.size]();f.extend(this,m);var l="";switch(m.type){case"leftHandle":l=".t-draghandle:first";break;case"rightHandle":l=".t-draghandle:last";break;default:l=".t-draghandle";break}new k.draggable({distance:0,owner:m.owner.wrapper[0],selector:l,scope:m.element.id,start:f.proxy(this.start,this),drag:f.proxy(this.drag,this),stop:f.proxy(this.stop,this)})};k.slider.Drag.prototype={start:function(o){if(!this.owner.enabled){return false}f(this.element).unbind("mouseover");this.val=parseFloat(f(this.element).val());this.dragableArea=k.slider.getDragableArea(this.owner.trackDiv,this.owner.maxSelection,this.orientation);this.step=Math.max(this.owner.smallStep*(this.owner.maxSelection/this.owner.distance),0);this.selectionStart=this.owner.selectionStart;this.selectionEnd=this.owner.selectionEnd;this.oldVal=this.val;this.format=this.owner.tooltip.format||"{0}";if(this.type){this.owner._setZIndex(this.type)}if(this.owner.tooltip.enabled){this.tooltipDiv=f("
      ").appendTo(document.body);if(this.type){var m=k.formatString(this.format,this.selectionStart),l=k.formatString(this.format,this.selectionEnd);this.tooltipDiv.html(m+" - "+l)}else{var n="t-callout-";if(this.orientation=="horizontal"){if(this.owner.tickPlacement=="topLeft"){n+="n"}else{n+="s"}}else{if(this.owner.tickPlacement=="topLeft"){n+="w"}else{n+="e"}}this.tooltipInnerDiv="
      ";this.tooltipDiv.html(k.formatString(this.owner.tooltip.format||"{0}",this.val)+this.tooltipInnerDiv)}this.moveTooltip(this.tooltipDiv)}},drag:function(n){if(this.orientation=="horizontal"){this.val=this.horizontalDrag(n)}else{this.val=this.verticalDrag(n)}if(this.oldVal!=this.val){this.oldVal=this.val;if(this.type){if(this.type=="leftHandle"){if(this.valthis.selectionStart){this.selectionEnd=this.val}else{this.selectionStart=this.selectionEnd=this.val}}k.trigger(this.element,"slide",{values:[this.selectionStart,this.selectionEnd]});if(this.owner.tooltip.enabled){var m=k.formatString(this.format,this.selectionStart),l=k.formatString(this.format,this.selectionEnd);this.tooltipDiv.html(m+" - "+l)}}else{k.trigger(this.element,"slide",{value:this.val});if(this.owner.tooltip.enabled){this.tooltipDiv.html(k.formatString(this.format,this.val)+this.tooltipInnerDiv)}}if(this.owner.tooltip.enabled){this.moveTooltip(this.tooltipDiv)}}},stop:function(l){if(l.keyCode==27){this.owner.refresh()}else{if(this.type){this.owner._update(this.selectionStart,this.selectionEnd)}else{this.owner._update(this.val)}}if(this.owner.tooltip.enabled){this.tooltipDiv.remove()}f(this.element).bind("mouseover");return false},moveTooltip:function(r){var q=0,o=0;if(this.type){var n=this.owner.wrapper.find(".t-draghandle"),m=n.eq(0).offset(),s=n.eq(1).offset();if(this.orientation=="horizontal"){q=s.top;o=m.left+((s.left-m.left)/2)}else{q=m.top+((s.top-m.top)/2);o=s.left}}else{var p=this.dragHandle.offset();q=p.top;o=p.left}var l=r[this.size]()/2;if(this.orientation=="horizontal"){o-=l;if(this.owner.tickPlacement!="topLeft"){q-=35}else{q+=33}}else{q-=l;if(this.owner.tickPlacement!="topLeft"){o-=r.width()+23}else{o+=31}}r.css({top:q,left:o})},horizontalDrag:function(l){var m=0;if(this.dragableArea.startPoint=this.dragableArea.endPoint){m=this.owner.maxValue}else{m=this.owner.minValue}}return m},verticalDrag:function(l){var m=0;if(this.dragableArea.startPoint>l.pageY&&l.pageY>this.dragableArea.endPoint){m=k.slider.getValueFromPosition(l.pageY,this.dragableArea,this.owner)}else{if(l.pageY<=this.dragableArea.endPoint){m=this.owner.maxValue}else{m=this.owner.minValue}}return m}};function b(m,l){var n=f(l),q=m.orientation=="horizontal"?" t-slider-horizontal":" t-slider-vertical",o;if(m.tickPlacement=="bottomRight"){o=" t-slider-bottomright"}else{if(m.tickPlacement=="topLeft"){o=" t-slider-topleft"}}var p=m.style?m.style:n.attr("style");return new k.stringBuilder().cat("
      ").cat("
      ").string()}function c(o,n){var m,l=o.orientation=="horizontal";if(n=="increase"){m=l?"t-arrow-next":"t-arrow-up"}else{m=l?"t-arrow-prev":"t-arrow-down"}return new k.stringBuilder().cat("").cat(o[n+"ButtonTitle"]).cat("").string()}function a(l){return new k.stringBuilder().cat("
        ").rep("
      •  
      • ",(Math.floor((l.distance/l.smallStep).toFixed(3),10)+1)).cat("
      ").string()}function e(l){var m=l.is("input")?1:2;return new k.stringBuilder().cat("
      ").cat("
      ").cat("Drag").catIf("Drag",m>1).cat("
      ").string()}function j(l,m){var n=f(l);n.val(m.val);n.wrap(b(m,l)).hide();if(m.showButtons){n.before(c(m,"increase")).before(c(m,"decrease"))}n.before(e(n))}f.fn.tSlider=function(l){return k.create(this,{name:"tSlider",init:function(m,n){return new k.slider(m,n)},options:l})};f.fn.tSlider.defaults={enabled:true,minValue:0,maxValue:10,val:0,smallStep:1,largeStep:5,showButtons:true,increaseButtonTitle:"Increase",decreaseButtonTitle:"Decrease",orientation:"horizontal",tickPlacement:"both",tooltip:{enabled:true,format:"{0}"}};k.rangeSlider=function(l,m){var n=f(l);this.element=l;m.distance=m.maxValue-m.minValue;f.extend(this,m);m.position=this.orientation=="horizontal"?"left":"bottom";m.size=this.orientation=="horizontal"?"width":"height";j(l,m);this.wrapper=n.closest(".t-slider");this.trackDiv=this.wrapper.find(".t-slider-track");k.slider.setTrackDivWidth(this.wrapper,m);this.maxSelection=this.trackDiv[m.size]();var o=this.maxSelection/((this.maxValue-this.minValue)/this.smallStep);if(m.tickPlacement!="none"&&o>=2){this.trackDiv.before(a(m));k.slider.setItemsWidth(this.wrapper,this.trackDiv,m);k.slider.setItemsTitle(this.wrapper,m);k.slider.setItemsLargeTick(this.wrapper,m)}else{this.pixelStepsArray=k.slider.getPixelSteps(this.trackDiv,m)}this._correctValues(this.selectionStart,this.selectionEnd);var q={element:l,type:"leftHandle",dragHandle:this.wrapper.find(".t-draghandle:first"),orientation:m.orientation,size:m.size,position:m.position,owner:this};new k.slider.Drag(q);new k.rangeSlider.Selection(q);var p={element:l,type:"rightHandle",dragHandle:this.wrapper.find(".t-draghandle:last"),orientation:m.orientation,size:m.size,position:m.position,owner:this};new k.slider.Drag(p);this[m.enabled?"enable":"disable"]();this.keyMap={37:g(m.smallStep),40:g(m.smallStep),39:h(m.smallStep),38:h(m.smallStep),35:d(m.maxValue),36:d(m.minValue),33:h(m.largeStep),34:g(m.largeStep)};k.bind(this,{slide:this.onSlide,change:this.onChange,load:this.onLoad})};k.rangeSlider.prototype={enable:function(){this.wrapper.removeAttr("disabled").removeClass("t-state-disabled").addClass("t-state-default");var l=f.proxy(function(p){var n=this.orientation=="horizontal"?p.pageX:p.pageY,m=k.slider.getDragableArea(this.trackDiv,this.maxSelection,this.orientation),o=k.slider.getValueFromPosition(n,m,this);if(othis.selectionEnd){this._setValueInRange(this.selectionStart,o)}else{if(o-this.selectionStart<=this.selectionEnd-o){this._setValueInRange(o,this.selectionEnd)}else{this._setValueInRange(this.selectionStart,o)}}}},this);this.wrapper.find(".t-tick").bind("click",l).end().find(".t-slider-track").bind("click",l);this.wrapper.find(".t-draghandle").eq(0).bind({keydown:f.proxy(function(m){this._keydown(m,true)},this)}).end().eq(1).bind({keydown:f.proxy(function(m){this._keydown(m,false)},this)});this.enabled=true},disable:function(){this.wrapper.attr("disabled","disabled").removeClass("t-state-default").addClass("t-state-disabled");this.wrapper.find(".t-tick").unbind("click").end().find(".t-slider-track").unbind("click");this.wrapper.find(".t-draghandle").unbind("keydown").bind("keydown",k.preventDefault);this.enabled=false},_keydown:function(o,l){var n=this.selectionStart,m=this.selectionEnd;if(o.keyCode in this.keyMap){if(l){n=this.keyMap[o.keyCode](n);if(n>m){m=n}}else{m=this.keyMap[o.keyCode](m);if(m=this.minValue&&m<=this.maxValue&&l>=this.minValue&&l<=this.maxValue&&m<=l){if(this.selectionStart!=m||this.selectionEnd!=l){f(this.element).find("input").eq(0).val(m).end().eq(1).val(l);this.selectionStart=m;this.selectionEnd=l;this.refresh()}}},refresh:function(){k.trigger(this.element,"t:moveSelection",{values:[this.selectionStart,this.selectionEnd]});if(this.selectionStart==this.maxValue&&this.slectionEnd==this.maxValue){this._setZIndex("leftHandle")}},_setValueInRange:function(l,m){l=Math.max(l,this.minValue);l=Math.min(l,this.maxValue);m=Math.max(m,this.minValue);m=Math.min(m,this.maxValue);if(this.selectionStart==this.maxValue&&this.slectionEnd==this.maxValue){this._setZIndex("leftHandle")}this._update(l,m)},_correctValues:function(m,l){if(m>=l){this._setValueInRange(l,m)}else{this._setValueInRange(m,l)}},_setZIndex:function(n){var p=this.wrapper.find(".t-draghandle"),l=p.eq(0),o=p.eq(1),m="z-index";if(n=="leftHandle"){l.css(m,"1");o.css(m,"")}else{l.css(m,"");o.css(m,"1")}}};k.rangeSlider.Selection=function(p){function o(s){var x=s[0]-p.owner.minValue,w=s[1]-p.owner.minValue,u=p.owner.wrapper.find(".t-slider-items"),t=0,v=0,r=0;if(u.length!=0){t=k.slider.fixDragHandlePosition(s[0],u,p);v=k.slider.fixDragHandlePosition(s[1],u,p)}else{while(x>0){x=parseFloat((x-p.owner.smallStep).toFixed(5),10);t+=p.owner.pixelStepsArray[r];r++}r=0;while(w>0){w=parseFloat((w-p.owner.smallStep).toFixed(5),10);v+=p.owner.pixelStepsArray[r];r++}}var q=p.owner.wrapper.find(".t-draghandle");var y=parseInt(q.eq(0)[p.size]()/2,10)+1;q.eq(0).css(p.position,t-y).end().eq(1).css(p.position,v-y);m(t,v)}function m(t,r){var s=0,u=0;if(t");f.ajax(this.ajaxOptions(k,{url:j||l.contentUrl}))}},resize:function(){var v=this.$element,C=v.children(":not(.t-splitbar)"),k=this.orientation=="horizontal",q=v.children(".t-splitbar").length,z=k?"width":"height",D=v[z]();if(q===0){q=C.length-1;for(var l=0;l")}return this};t.cat("
      ").catIconIf("t-collapse-prev",n.collapsible&&!n.collapsed).catIconIf("t-expand-prev",n.collapsible&&n.collapsed).catIconIf("t-resize-handle",s).catIconIf("t-collapse-next",o.collapsible&&!o.collapsed).catIconIf("t-expand-next",o.collapsible&&o.collapsed).cat("
      ");j.after(t.string())}}D-=h*q;var y=0,x=0,p=f();C.css({position:"absolute",top:0})[z](function(){var E=f(this).data("pane"),F;if(E.collapsed){F=0}else{if(c(E.size)){p=p.add(this);return}else{F=parseInt(E.size,10);if(b(E.size)){F=Math.floor(F*D/100)}}}x++;y+=F;return F});D-=y;var u=p.length,B=Math.floor(D/u);p.slice(0,u-1).css(z,B).end().eq(u-1).css(z,D-(u-1)*B);var w=0,r=k?"height":"width",m=k?"left":"top",A=k?"offsetWidth":"offsetHeight";v.children().css(r,v[r]()).each(function(E,F){F.style[m]=Math.floor(w)+"px";w+=F[A]})}};i.splitter.PaneResizing=function(j){this.owner=j;new i.draggable({distance:0,owner:j.element,selector:".t-splitbar-draggable-horizontal, .t-splitbar-draggable-vertical",scope:j.element.id,start:f.proxy(this.start,this),drag:f.proxy(this.drag,this),stop:f.proxy(this.stop,this)})};i.splitter.PaneResizing.prototype={start:function(x){var l=x.$draggable,o=l.prev(),p=l.next(),m=o.data("pane"),q=p.data("pane"),u=this.owner.orientation==="horizontal",y=u?"width":"height",z=u?"offsetWidth":"offsetHeight",s=u?"height":"width";this.positioningProperty=u?"left":"top";this.mousePositioningProperty=u?"pageX":"pageY";this.previousPane=o;this.nextPane=p;this.initialSplitBarPosition=parseInt(l[0].style[this.positioningProperty]);this.initialMousePosition=x[this.mousePositioningProperty];this.ghostSplitBar=f("
      ").css(s,x.$draggable[s]()).css(this.positioningProperty,this.initialSplitBarPosition).appendTo(this.owner.element);var A=parseInt(o[0].style[this.positioningProperty]),n=parseInt(p[0].style[this.positioningProperty])+p[0][z]-h,w=this.owner.$element.css(y),t=function(C){var B=parseInt(C,10);return(g(C)?B:(w*B)/100)||0},v=t(m.minSize),k=t(m.maxSize)||n-A,j=t(q.minSize),r=t(q.maxSize)||n-A;this.maxSize=Math.min(n-j,A+k);this.minSize=Math.max(A+v,n-r);f(document.body).css("cursor",l.css("cursor"))},drag:function(k){var j=Math.min(this.maxSize,Math.max(this.minSize,this.initialSplitBarPosition+(k[this.mousePositioningProperty]-this.initialMousePosition)));this.ghostSplitBar.toggleClass("t-restricted-size-"+this.owner.orientation,j==this.maxSize||j==this.minSize)[0].style[this.positioningProperty]=j+"px"},stop:function(r){if(r.keyCode!==27){var n=parseInt(this.ghostSplitBar[0].style[this.positioningProperty]),j=this.owner.orientation==="horizontal",p=j?"width":"height",o=j?"offsetWidth":"offsetHeight",k=this.previousPane.data("pane"),q=this.nextPane.data("pane"),l=n-parseInt(this.previousPane[0].style[this.positioningProperty]),t=parseInt(this.nextPane[0].style[this.positioningProperty])+this.nextPane[0][o]-n-h,m=this.owner.$element[p]();m-=h*this.owner.$element.children(".t-splitbar").length;var s=this.owner.$element.children(".t-pane").filter(function(){return c(f(this).data("pane").size)}).length;if(!c(k.size)||s>1){if(c(k.size)){s--}k.size=l+"px"}if(!c(q.size)||s>1){q.size=t+"px"}}this.ghostSplitBar.remove();if(r.keyCode!==27){this.owner.$element.trigger("resize")}f(document.body).css("cursor","");return false}};f.fn.tSplitter=function(j){return i.create(this,{name:"tSplitter",init:function(k,l){return new i.splitter(k,l)},options:j})};f.fn.tSplitter.defaults={orientation:"horizontal"}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.tabstrip.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.tabstrip.min.js new file mode 100644 index 0000000..d6406d7 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.tabstrip.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.tabstrip=function(c,d){this.element=c;var f=a(c);this.$contentElements=f.find("> .t-content");a.extend(this,d);if(this.contentUrls){f.find(".t-tabstrip-items > .t-item").each(a.proxy(function(i,j){a(j).find(".t-link").data("ContentUrl",this.contentUrls[i])},this))}var h=".t-tabstrip-items > .t-item:not(.t-state-disabled)";f.delegate(h,"mouseenter",b.hover).delegate(h,"mouseleave",b.leave).delegate(h,d.activateEvent,b.delegate(this,this._click)).delegate(".t-tabstrip-items > .t-state-disabled .t-link","click",b.preventDefault);b.bind(this,{select:a.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),contentLoad:this.onContentLoad,error:this.onError,load:this.onLoad});var g=f.find("li.t-state-active"),e=a(this.getContentElement(g.parent().children().index(g)));if(e.length>0&&e[0].childNodes.length==0){this.activateTab(g.eq(0))}};a.extend(b.tabstrip.prototype,{select:function(c){a(c).each(a.proxy(function(e,f){var d=a(f);if(d.is(".t-state-disabled,.t-state-active")){return}this.activateTab(d)},this))},enable:function(c){a(c).addClass("t-state-default").removeClass("t-state-disabled")},disable:function(c){a(c).removeClass("t-state-default").removeClass("t-state-active").addClass("t-state-disabled")},reload:function(d){var c=this;a(d).each(function(){var f=a(this),e=f.find(".t-link").data("ContentUrl");if(e){c.ajaxRequest(f,a(c.getContentElement(f.index())),null,e)}})},_click:function(j,f){var h=a(f),c=h.find(".t-link"),d=c.attr("href"),g=a(this.getContentElement(h.index()));if(h.is(".t-state-disabled,.t-state-active")){j.preventDefault();return}if(b.trigger(this.element,"select",{item:h[0],contentElement:g[0]})){j.preventDefault()}var i=c.data("ContentUrl")||(d&&(d.charAt(d.length-1)=="#"||d.indexOf("#"+this.element.id+"-")!=-1));if(!d||i||(g.length>0&&g[0].childNodes.length==0)){j.preventDefault()}else{return}if(this.activateTab(h)){j.preventDefault()}},activateTab:function(d){var f=d.parent().children().removeClass("t-state-active").addClass("t-state-default").index(d);d.removeClass("t-state-default").addClass("t-state-active");var g=this.$contentElements;if(g.length==0){return false}var j=g.filter(".t-state-active");var e=a(this.getContentElement(f));var h=this;if(e.length==0){j.removeClass("t-state-active");b.fx.rewind(h.effects,j,{});return false}var c=e.is(":empty"),i=function(){e.addClass("t-state-active");b.fx.play(h.effects,e,{})};j.removeClass("t-state-active").stop(false,true);b.fx.rewind(h.effects,j,{},function(){if(d.hasClass("t-state-active")){if(!c){i()}else{h.ajaxRequest(d,e,function(){if(d.hasClass("t-state-active")){i()}})}}});return true},getSelectedTabIndex:function(){return a(this.element).find("li.t-state-active").index()},getContentElement:function(g){if(isNaN(g-0)){return}var c=this.$contentElements,e=new RegExp("-"+(g+1)+"$");for(var d=0,f=c.length;d').prependTo(d)},100);a.ajax({type:"GET",cache:false,url:g||d.data("ContentUrl")||d.attr("href"),dataType:"html",data:c,error:a.proxy(function(l,k){if(b.ajaxError(this.element,"error",l,k)){return}},this),complete:function(){clearTimeout(h);if(i!==null){i.remove()}},success:a.proxy(function(k,l){e.html(k);if(j){j.call(this,e)}b.trigger(this.element,"contentLoad",{item:f[0],contentElement:e[0]})},this)})}});a.fn.tTabStrip=function(c){return b.create(this,{name:"tTabStrip",init:function(d,e){return new b.tabstrip(d,e)},options:c})};a.fn.tTabStrip.defaults={activateEvent:"click",effects:b.fx.toggle.defaults()}})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.textbox.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.textbox.min.js new file mode 100644 index 0000000..4c0c2cb --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.textbox.min.js @@ -0,0 +1 @@ +(function(d){var i=d.telerik,a=[8,9,37,38,39,40,46,35,36,44],b=["font-family","font-size","font-stretch","font-style","font-weight","letter-spacing","line-height","color","text-align","text-decoration","text-indent","text-transform"];function f(l){var o={};for(var k=0,n=b.length;k
      '));if(this.showIncreaseButton){o.cat('Increment')}if(this.showDecreaseButton){o.cat('Decrement')}if(o.buffer.length>0){d(o.string()).insertAfter(l)}}this.$wrapper=l.closest(".t-numerictextbox").find(".t-arrow-up, .t-arrow-down").bind({click:i.preventDefault,dragstart:i.preventDefault}).end().bind({focusin:d.proxy(this._focus,this),focusout:d.proxy(this._blur,this)});this.enabled=!l.is("[disabled]");o.buffer=[];o.cat("[ |").cat(this.groupSeparator).catIf("|"+this.symbol,this.symbol).cat("]");this.replaceRegExp=new RegExp(o.string(),"g");var m=l.attr("value");o.buffer=[];o.cat('
      ').cat(m||(this.enabled?this.text:"")).cat("
      ");this.$text=d(o.string()).insertBefore(l).css(f(l)).click(function(p){j.focus()});this._blur();this[this.enabled?"enable":"disable"]();this.numFormat=this.numFormat===undefined?this.type.charAt(0):this.numFormat;var n=this.separator;this.step=this.parse(this.step,n);this.val=this.parse(this.val,n);this.minValue=this.parse(this.minValue,n);this.maxValue=this.parse(this.maxValue,n);this.decimals={"190":".","188":",","110":n};this.value(m||this.val);i.bind(this,{load:this.onLoad,valueChange:this.onChange})};i.textbox.prototype={_paste:function(n){var l=this.$element.val();if(d.browser.msie){var k=this.element.document.selection.createRange().text;var j=window.clipboardData.getData("Text");if(k&&k.length>0){l=l.replace(k,j)}else{l+=j}}if(l=="-"){return true}var m=this.parse(l,this.separator);if(m||m==0){this._update(m)}},_keydown:function(p){var m=p.keyCode,k=this.$element,o=this.separator,j=k.val();setTimeout(d.proxy(function(){k.toggleClass("t-state-error",!this.inRange(this.parse(k.val(),this.separator),this.minValue,this.maxValue))},this));var l=this.decimals[m];if(l){if(l==o&&this.digits>0&&j.indexOf(o)==-1){return true}else{p.preventDefault()}}if(m==8||m==46){setTimeout(d.proxy(function(){this._update(this.parse(k.val()))},this));return true}if(m==38||m==40){var n=m==38?1:-1;this._modify(n*this.step);return true}if(m==222){p.preventDefault()}},_keypress:function(l){var k=d(l.target),j=l.keyCode||l.which;if(l.shiftKey&&j!=45){return false}if(j==0||d.inArray(j,a)!=-1||l.ctrlKey||(l.shiftKey&&j==45)){return true}if(((this.minValue!==null?this.minValue<0:true)&&String.fromCharCode(j)=="-"&&i.caretPos(k[0])==0&&k.val().indexOf("-")==-1)||this.inRange(j,48,57)){setTimeout(d.proxy(function(){var m=this.parse(k.val());if(m!=null&&this.digits){var n=Math.pow(10,this.digits);m=parseInt(m*n)/n}if(this.val!=m){if(i.trigger(this.element,"valueChange",{oldValue:this.val,newValue:m})){m=this.val}this._value(m)}},this));return true}l.preventDefault()},_focus:function(){this.$element.css("color",this.$text.css("color"));this.$text.hide()},_blur:function(){this.$element.css("color",this.$element.css("background-color")).removeClass("t-state-error");if(this.enabled){this.$text.show()}var j=this.minValue,l=this.maxValue,k=this.parse(this.$element.val());if(k!=null){if(j!=null&&kl){k=l}}k=parseFloat(k.toFixed(this.digits))}this._update(k)},_clearTimer:function(j){clearTimeout(this.timeout);clearInterval(this.timer);clearInterval(this.acceleration)},_stepper:function(l,j){if(l.which==1){var k=this.step;this._modify(j*k);this.timeout=setTimeout(d.proxy(function(){this.timer=setInterval(d.proxy(function(){this._modify(j*k)},this),80);this.acceleration=setInterval(function(){k+=1},1000)},this),200)}},_modify:function(m){var j=this.parse(this.element.value),k=this.minValue,l=this.maxValue;j=j?j+m:m;if(k!==null&&jl){j=l}}this._update(parseFloat(j.toFixed(this.digits)))},_update:function(j){if(this.val!=j){if(i.trigger(this.element,"valueChange",{oldValue:this.val,newValue:j})){j=this.val}}this._value(j)},_value:function(j){var l=(typeof j==="number")?j:this.parse(j,this.separator),m=this.enabled?this.text:"",k=l===null;if(l!=null){l=parseFloat(l.toFixed(this.digits))}this.val=l;this.$element.val(k?"":this.formatEdit(l));this.$text.html(k?m:this.format(l));if(k){this.$text.addClass("t-state-empty")}else{this.$text.removeClass("t-state-empty")}},enable:function(){var j=this.$wrapper.find(".t-arrow-up, .t-arrow-down"),k=d.proxy(this._clearTimer,this);this.enabled=true;this.$element.removeAttr("disabled");if(!this.val&&this.val!=0){this.$text.addClass("t-state-empty").html(this.text)}else{if(true==d.browser.msie){this.$text.show()}else{this.$element.css("color",this.$element.css("background-color"))}}this.$wrapper.removeClass("t-state-disabled");j.unbind("mouseup").unbind("mouseout").unbind("dblclick").bind({mouseup:k,mouseout:k,dblclick:k});var l="mousedown";j.eq(0).unbind(l).bind(l,d.proxy(function(m){this._stepper(m,1)},this));j.eq(1).unbind(l).bind(l,d.proxy(function(m){this._stepper(m,-1)},this))},disable:function(){this.enabled=false;this.$wrapper.addClass("t-state-disabled").find(".t-icon").unbind("mousedown").bind("mousedown",i.preventDefault);this.$element.attr("disabled","disabled");if(!this.val&&this.val!=0){this.$text.html("")}else{if(true==d.browser.msie){this.$text.hide()}else{this.$element.css("color",this.$element.css("background-color"))}}},value:function(k){if(k===undefined){return this.val}var j=(typeof k==="number")?k:this.parse(k,this.separator);if(!this.inRange(j,this.minValue,this.maxValue)){j=null}this._value(j)},formatEdit:function(k){var j=this.separator;if(k&&j!="."){k=k.toString().replace(".",j)}return k},format:function(j){return i.textbox.formatNumber(j,this.numFormat,this.digits,this.separator,this.groupSeparator,this.groupSize,this.positive,this.negative,this.symbol,true)},inRange:function(l,j,k){return l===null||((j!==null?l>=j:true)&&(k!==null?l<=k:true))},parse:function(j,l){var k=null;if(j||j=="0"){if(typeof j==typeof 1){return j}j=j.replace(this.replaceRegExp,"");if(l&&l!="."){j=j.replace(l,".")}var n=d.fn.tTextBox.patterns[this.type].negative[this.negative].replace(/(\(|\))/g,"\\$1").replace("*","").replace("n","([\\d|\\.]*)"),m=new RegExp(n);if(m.test(j)){k=-parseFloat(m.exec(j)[1])}else{k=parseFloat(j)}}return isNaN(k)?null:k}};d.fn.tTextBox=function(l){var k="numeric";if(l&&l.type){k=l.type}var j=d.fn.tTextBox.defaults[k];j.digits=i.cultureInfo[k+"decimaldigits"];j.separator=i.cultureInfo[k+"decimalseparator"];j.groupSeparator=i.cultureInfo[k+"groupseparator"];j.groupSize=i.cultureInfo[k+"groupsize"];j.positive=i.cultureInfo[k+"positive"];j.negative=i.cultureInfo[k+"negative"];j.symbol=i.cultureInfo[k+"symbol"];l=d.extend({},j,l);l.type=k;return this.each(function(){var m=d(this);l=d.meta?d.extend({},l,m.data()):l;if(!m.data("tTextBox")){m.data("tTextBox",new i.textbox(this,l));i.trigger(this,"load")}})};var c={val:null,text:"",step:1,inputAttributes:"",increaseButtonTitle:"Increase value",decreaseButtonTitle:"Decrease value",showIncreaseButton:true,showDecreaseButton:true};d.fn.tTextBox.defaults={numeric:d.extend(c,{minValue:-100,maxValue:100}),currency:d.extend(c,{minValue:0,maxValue:1000}),percent:d.extend(c,{minValue:0,maxValue:100})};d.fn.tTextBox.patterns={numeric:{negative:["(n)","-n","- n","n-","n -"]},currency:{positive:["*n","n*","* n","n *"],negative:["(*n)","-*n","*-n","*n-","(n*)","-n*","n-*","n*-","-n *","-* n","n *-","* n-","* -n","n- *","(* n)","(n *)"]},percent:{positive:["n *","n*","*n"],negative:["-n *","-n*","-*n"]}};if(!i.cultureInfo.numericnegative){d.extend(i.cultureInfo,{currencydecimaldigits:2,currencydecimalseparator:".",currencygroupseparator:",",currencygroupsize:3,currencynegative:0,currencypositive:0,currencysymbol:"$",numericdecimaldigits:2,numericdecimalseparator:".",numericgroupseparator:",",numericgroupsize:3,numericnegative:1,percentdecimaldigits:2,percentdecimalseparator:".",percentgroupseparator:",",percentgroupsize:3,percentnegative:0,percentpositive:0,percentsymbol:"%"})}var h=/[0#?]/;function g(j){return j.split("").reverse().join("")}function e(o,k,r){var l=0,m=0,q=k.length,s=o.length,v=new i.stringBuilder();while(l=0){if(k.charAt(l).match(h)){v.cat(o.charAt(m++))}else{v.cat(k.charAt(l))}l++}v.catIf(o.substring(m),m-1){t=u.indexOf("0")}if(t>-1){var n=u.slice(0,t),p=u.slice(t,u.length);u=n.replace(/#/g,"")+p.replace(/#/g,"0")}else{u=u.replace(/#/g,"")}if(u.indexOf(",")==0){u=u.replace(/,/g,"")}return r?u:g(u)}i.textbox.formatNumber=function(M,p,u,w,k,S,q,s,O,H){if(!p){return M}var R,I,N,o,L=M<0;p=p.split(":");p=p.length>1?p[1].replace("}",""):p[0];var n=p.search(h)!=-1;if(n){p=p.split(";");I=p[0];N=p[1];o=p[2];p=(L&&N?N:I).indexOf("%")!=-1?"p":"n"}switch(p.toLowerCase()){case"d":return Math.round(M).toString();case"c":R="currency";break;case"n":R="numeric";break;case"p":R="percent";if(!H){M=Math.abs(M)*100}break;default:return M.toString()}var B=function(V,T,U){for(var W=V.length;W1?E[1]:"",j=i.lastIndexOf(C,"0"),z=i.lastIndexOf(C,"#");u=(z>j?z:j)+1}var D=Math.pow(10,u);var P=(Math.round(M*D)/D);M=isFinite(P)?P:M;var x=M.toString().split(/e/i);A=x.length>1?parseInt(x[1]):0;x=x[0].split(".");l=x[0];l=L?l.replace("-",""):l;t=x.length>1?x[1]:"";if(A){if(!L){t=B(t,A,false);l+=t.slice(0,A);t=t.substr(A)}else{l=B(l,A+1,true);t=l.slice(A,l.length)+t;l=l.slice(0,A)}}var Q=t.length;if(u<1||(n&&j==-1&&Q===0)){t=""}else{t=Q>u?t.slice(0,u):B(t,u,false)}var m;if(n){if(l==0){l=""}l=e(g(l),g(y),true);l=y.indexOf(",")!=-1?K(l,k,S):l;t=t&&C?e(t,C):"";m=M===0&&o?o:(L&&!N?"-":"")+l+(t.length>0?w+t:"")}else{l=K(l,k,S);J=J[R];var v=L?J.negative[s]:O?J.positive[q]:null;var r=l+(t.length>0?w+t:"");m=v?v.replace("n",r).replace("*",O):r}return m};d.extend(i.formatters,{number:i.textbox.formatNumber})})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.timepicker.min.js b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.timepicker.min.js new file mode 100644 index 0000000..0b409cf --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/2011.1.315/telerik.timepicker.min.js @@ -0,0 +1 @@ +(function(a){var b=a.telerik;b.timeView=function(c){a.extend(this,c);var d=this.dropDown=new b.dropDown({attr:this.dropDownAttr,effects:this.effects,onClick:function(f){var g=f.item;c.onChange(g.innerText||g.textContent)}});d.$element.addClass("t-time-popup").css("direction",this.isRtl?"rtl":"")};b.timeView.prototype={_ensureItems:function(){if(!this.dropDown.$items){this.bind()}},open:function(c){this._ensureItems();this.dropDown.open(c)},close:function(){this.dropDown.close()},bind:function(){var j=b.timeView.getTimeMilliseconds;var g=[];var c=this.format;var n=this.interval;var p=new b.datetime(this.minValue);var d=j(p);var f=j(this.maxValue);var l=n*b.datetime.msPerMinute;var k=parseInt(b.datetime.msPerDay/(n*b.datetime.msPerMinute));if(d!=f){var o=di?i+d:i;h=e>h?h+d:h;return e-h==0||i>=e&&i<=h},getTimeMilliseconds:function(c){c=c.value?c:new b.datetime(c);return((c.hours()*60)+c.minutes())*b.datetime.msPerMinute+c.seconds()*1000+c.milliseconds()}});b.timepicker=function(d,e){a.extend(this,e);if(d.nodeName.toLowerCase()!=="input"&&d.type.toLowerCase()!=="text"){throw"Target element is not a INPUT"}this.element=d;var f=this.$element=a(d).addClass("t-input").attr("autocomplete","off").bind({keydown:a.proxy(this._keydown,this),focus:a.proxy(function(j){if(this.openOnFocus){this._open()}this.$element.removeClass("t-state-error")},this)});if(!f.parent().hasClass("t-picker-wrap")){f.wrap('
      ');if(e.showButton){var i=new b.stringBuilder(),g=e.buttonTitle;a(i.cat('').cat('').string()).insertAfter(f)}}this.timeView=new b.timeView({effects:this.effects,dropDownAttr:this.dropDownAttr,format:this.format,interval:this.interval,isRtl:f.closest(".t-rtl").length,minValue:this.minValue,maxValue:this.maxValue,onNavigateWithOpenPopup:a.proxy(function(j){this.$element.val(j)},this),onChange:a.proxy(function(j){if(j!=this.inputValue){this._update(j)}this._close()},this)});this.inputValue=f.val();var c=this.selectedValue||this.inputValue;if(c){this._value(this.parse(c))}var h=this.enabled?a.proxy(this._togglePopup,this):b.preventDefault;this.$wrapper=f.closest(".t-timepicker").find(".t-icon").bind("click",h).end();a(document.documentElement).bind("mousedown",a.proxy(function(m){var l=this.$element.val();if(l!=this.inputValue){this._update(l)}var j=this.timeView.dropDown.$element;var k=j&&j.parent().length>0;if(!k||a.contains(this.$wrapper[0],m.target)||a.contains(j.parent()[0],m.target)){return}this._close()},this));b.bind(this,{open:this.onOpen,close:this.onClose,valueChange:this.onChange,load:this.onLoad})};b.timepicker.prototype={_close:function(){var c=this.timeView.dropDown;if(!c.$element.is(":animated")&&c.isOpened()){this._trigger("close")}},_open:function(){if(!this.timeView.isOpened()){this._trigger("open")}},_trigger:function(c){if(!b.trigger(this.element,c)){this[c]()}},_togglePopup:function(){if(this.timeView.isOpened()){this._close()}else{this.element.focus();this._open()}},_update:function(f){var k=this.minValue,d=this.maxValue,i=this.parse(f),m=this.selectedValue;if(i!=null&&!b.timeView.isInRange(i,k,d)){var e=b.timeView.getTimeMilliseconds,h=e(i),j=Math.abs(e(k)-h),l=Math.abs(e(d)-h);i=new Date(j0)})}b.treeview=function(f,g){this.element=f;var h=c(f);c.extend(this,g);var d=".t-in:not(.t-state-selected,.t-state-disabled)";c(".t-in.t-state-selected",f).live("mouseenter",b.preventDefault);h.delegate(d,"mouseenter",b.hover).delegate(d,"mouseleave",b.leave).delegate(d,"click",b.delegate(this,this.nodeSelect)).delegate("div:not(.t-state-disabled) .t-in","dblclick",b.delegate(this,this.nodeClick)).delegate(":checkbox","click",b.delegate(this,this.checkboxClick)).delegate(".t-plus, .t-minus","click",b.delegate(this,this.nodeClick));if(this.isAjax()){a(h)}if(this.dragAndDrop){b.bind(this,{nodeDragStart:this.onNodeDragStart,nodeDragging:this.onNodeDragging,nodeDragCancelled:this.onNodeDragCancelled,nodeDrop:this.onNodeDrop,nodeDropped:this.onNodeDropped});(function(k){var i=c('
      ');var n;function j(o){if(b.trigger(k.element,"nodeDragStart",{item:o.$draggable.closest(".t-item")[0]})){return false}i.appendTo(k.element)}function l(w){var r;n=c(w.target);b.trigger(k.element,"nodeDragging",{pageY:w.pageY,pageX:w.pageX,dropTarget:w.target,setStatusClass:function(z){r=z},item:w.$draggable.closest(".t-item")[0]});if(r){i.css("visibility","hidden");b.dragCueStatus(w.$cue,r);return}r="t-insert-middle";if(k.dragAndDrop.dropTargets&&c(w.target).closest(k.dragAndDrop.dropTargets).length>0){b.dragCueStatus(w.$cue,"t-add");return}if(!c.contains(k.element,w.target)){i.css("visibility","hidden");return}else{if(c.contains(w.$draggable.closest(".t-item")[0],w.target)){i.css("visibility","hidden");b.dragCueStatus(w.$cue,"t-denied");return}}i.css("visibility","visible");var q=n.closest(".t-top,.t-mid,.t-bot");if(q.length>0){var v=q.outerHeight();var t=q.offset().top;var y=n.closest(".t-in");var x=v/(y.length>0?4:2);var u=w.pageY<(t+x);var o=(t+v-x)0&&!u&&!o;y.toggleClass("t-state-hover",p);i.css("visibility",p?"hidden":"visible");if(p){r="t-add"}else{var s=q.position();s.top+=u?0:v;i.css(s)[u?"prependTo":"appendTo"](n.closest(".t-item").find("> div:first"));r="t-insert-middle";if(u&&q.hasClass("t-top")){r="t-insert-top"}if(o&&q.hasClass("t-bot")){r="t-insert-bottom"}}}b.dragCueStatus(w.$cue,r)}function m(v){if(v.keyCode==27){b.trigger(k.element,"nodeDragCancelled",{item:v.$draggable.closest(".t-item")[0]})}else{var q="over",p;if(i.css("visibility")=="visible"){q=i.prevAll(".t-in").length>0?"after":"before";p=i.closest(".t-item").find("> div")}else{if(n){p=n.closest(".t-top,.t-mid,.t-bot")}}var r=b.trigger(k.element,"nodeDrop",{isValid:!v.$cue.find(".t-drag-status").hasClass("t-denied"),dropTarget:v.target,destinationItem:p.parent()[0],dropPosition:q,item:v.$draggable.closest(".t-item")[0]});if(r||!c.contains(k.element,v.target)){return !r}var t=v.$draggable.closest(".t-top,.t-mid,.t-bot");var u=t.parent();var x=t.closest(".t-group");if(c.contains(u[0],v.target)){return false}if(u.hasClass("t-last")){u.removeClass("t-last").prev().addClass("t-last").find("> div").removeClass("t-top t-mid").addClass("t-bot")}if(i.css("visibility")=="visible"){p.parent()[q](u)}else{var o=p.next(".t-group");if(o.length===0){o=c('
        ').appendTo(p.parent());if(!k.isAjax()){p.prepend('')}else{o.hide();k.nodeToggle(null,p.parent(),true);o.show()}}o.append(u);if(p.find("> .t-icon").hasClass("t-plus")){k.nodeToggle(null,p.parent(),true)}}var s=u.parents(".t-group").length;function w(z){var A=z.prev().length===0;var y=z.next().length===0;z.toggleClass("t-first",A&&s===1).toggleClass("t-last",y).find("> div").toggleClass("t-top",A&&!y).toggleClass("t-mid",!A&&!y).toggleClass("t-bot",y)}w(u);w(u.prev());w(u.next());if(x.children().length===0){x.prev("div").find(".t-plus,.t-minus").remove();x.remove()}b.trigger(k.element,"nodeDropped",{destinationItem:p.closest(".t-item")[0],dropPosition:q,item:t.parent(".t-item")[0]});return false}}new b.draggable({owner:k.element,selector:"div:not(.t-state-disabled) .t-in",scope:k.element.id,cue:function(o){return b.dragCue(o.$draggable.text())},start:j,drag:l,stop:m,destroy:function(o){i.remove();o.$cue.remove()}})})(this)}var e=h.find(".t-item > .t-content");if(e.length>0&&c(e[0]).children().length==0){h.find(".t-icon").hide()}b.bind(this,{expand:this.onExpand,collapse:this.onCollapse,select:c.proxy(function(i){if(i.target==this.element&&this.onSelect){this.onSelect(i)}},this),checked:this.onChecked,error:this.onError,load:this.onLoad,dataBinding:this.onDataBinding,dataBound:this.onDataBound})};b.treeview.prototype={expand:function(d){c(d,this.element).each(c.proxy(function(g,h){var f=c(h);var e=f.find("> .t-group, > .t-content");if((e.length>0&&!e.is(":visible"))||this.isAjax()){this.nodeToggle(null,f)}},this))},collapse:function(d){c(d,this.element).each(c.proxy(function(g,h){var f=c(h),e=f.find("> .t-group, > .t-content");if(e.length>0&&e.is(":visible")){this.nodeToggle(null,f)}},this))},enable:function(d){this.toggle(d,true)},disable:function(d){this.toggle(d,false)},toggle:function(e,d){c(e,this.element).each(c.proxy(function(g,h){var f=c(h),i=!f.find("> .t-group, > .t-content").is(":visible");if(!d){this.collapse(f);i=true}f.find("> div > .t-in").toggleClass("t-state-default",d).toggleClass("t-state-disabled",!d).end().find("> div > .t-checkbox > :checkbox").attr("disabled",d?"":"disabled").end().find("> div > .t-icon").toggleClass("t-plus",i&&d).toggleClass("t-plus-disabled",i&&!d).toggleClass("t-minus",!i&&d).toggleClass("t-minus-disabled",!i&&!d)},this))},reload:function(e){var d=this;c(e).each(function(){var f=c(this);f.find(".t-group").remove();d.ajaxRequest(f)})},shouldNavigate:function(e){var d=c(e).closest(".t-item").find("> .t-content, > .t-group");var f=c(e).attr("href");return !((f&&(f.charAt(f.length-1)=="#"||f.indexOf("#"+this.element.id+"-")!=-1))||(d.length>0&&d.children().length==0))},nodeSelect:function(g,f){if(!this.shouldNavigate(f)){g.preventDefault()}var d=c(f);if(!d.hasClass(".t-state-selected")&&!b.trigger(this.element,"select",{item:d.closest(".t-item")[0]})){c(".t-in",this.element).removeClass("t-state-hover t-state-selected");d.addClass("t-state-selected")}},nodeToggle:function(i,f,h){if(f.find(".t-minus").length==0&&f.find(".t-plus").length==0){return}if(i!=null){i.preventDefault()}if(f.data("animating")||f.find("> div > .t-in").hasClass("t-state-disabled")){return}f.data("animating",!h);var d=f.find(">.t-group, >.t-content, >.t-animation-container>.t-group, >.t-animation-container>.t-content"),g=!d.is(":visible");if(d.children().length>0&&f.data("loaded")!==false&&!b.trigger(this.element,g?"expand":"collapse",{item:f[0]})){f.find("> div > .t-icon").toggleClass("t-minus",g).toggleClass("t-plus",!g);if(!h){b.fx[g?"play":"rewind"](this.effects,d,{direction:"bottom"},function(){f.data("animating",false)})}else{d[g?"show":"hide"]()}}else{if(g&&this.isAjax()&&(d.length==0||f.data("loaded")===false)){if(!b.trigger(this.element,g?"expand":"collapse",{item:f[0]})){this.ajaxRequest(f)}}}},nodeClick:function(h,g){var f=c(g),d=f.closest(".t-item");if(f.hasClass("t-plus-disabled")||f.hasClass("t-minus-disabled")){return}this.nodeToggle(h,d)},isAjax:function(){return this.ajax||this.ws||this.onDataBinding},url:function(d){return(this.ajax||this.ws)[d]},ajaxOptions:function(e,h){var f={type:"POST",dataType:"text",error:c.proxy(function(j,i){if(b.ajaxError(this.element,"error",j,i)){return}if(i=="parsererror"){alert("Error! The requested URL did not return JSON.")}},this),success:c.proxy(function(i){i=eval("("+i+")");i=i.d||i;this.dataBind(e,i)},this)};f=c.extend(f,h);var g=this.ws?f.data.node={}:f.data;if(e.hasClass("t-item")){g[this.queryString.value]=this.getItemValue(e);g[this.queryString.text]=this.getItemText(e);var d=e.find(".t-checkbox:first :checkbox");if(d.length){g[this.queryString.checked]=d.is(":checked")}}if(this.ws){f.data=b.toJson(f.data);f.contentType="application/json; charset=utf-8"}return f},ajaxRequest:function(f){f=f||c(this.element);var d={item:f[0]};if(b.trigger(this.element,"dataBinding",d)||(!this.ajax&&!this.ws)){return}f.data("loadingIconTimeout",setTimeout(function(){f.find("> div > .t-icon").addClass("t-loading")},100));c.ajax(this.ajaxOptions(f,{data:c.extend({},d.data),url:this.url("selectUrl")}))},bindTo:function(d){this.dataBind(this.element,d)},dataBind:function(d,h){d=c(d);if(h.length==0){c(".t-icon",d).hide();return}var g=new b.stringBuilder(),e=d.find("> .t-group"),f=e.length==0;b.treeview.getGroupHtml({data:h,html:g,isAjax:this.isAjax(),isFirstLevel:d.hasClass("t-treeview"),showCheckBoxes:this.showCheckBox,groupLevel:d.find('> div > .t-checkbox :input[name="'+this.element.id+'_checkedNodes.Index"]').val(),isExpanded:(f?d.eq(0).is(".t-treeview")?true:h[0].Expanded:false),renderGroup:f,elementId:this.element.id});d.data("animating",true);if(e.length>0&&d.data("loaded")===false){c(g.string()).prependTo(e)}else{if(e.length>0&&d.data("loaded")!==false){e.html(g.string())}else{if(e.length==0){e=c(g.string()).appendTo(d)}}}b.fx.play(this.effects,e,{direction:"bottom"},function(){d.data("animating",false)});clearTimeout(d.data("loadingIconTimeout"));if(d.hasClass("t-item")){d.data("loaded",true).find(".t-icon:first").removeClass("t-loading").removeClass("t-plus").addClass("t-minus")}if(this.isAjax()){a(d)}b.trigger(this.element,"dataBound")},checkboxClick:function(h,f){var d=c(f).is(":checked");var g=b.trigger(this.element,"checked",{item:c(f).closest(".t-item")[0],checked:d});if(!g){this.nodeCheck(f,d)}else{h.preventDefault()}return g},nodeCheck:function(e,d){c(e,this.element).each(c.proxy(function(h,i){var f=c(i).closest(".t-item"),g=c("> div > .t-checkbox",f),j=this.element.id+"_checkedNodes",h=g.find(':input[name="'+j+'.Index"]').val();g.find(':input[name="'+j+"["+h+'].Text"]').remove();g.find(':input[name="'+j+"["+h+'].Value"]').remove();g.find(":checkbox").attr({checked:d?"checked":"",value:d});if(d){c(b.treeview.getNodeInputsHtml(this.getItemValue(f),this.getItemText(f),j,h)).appendTo(g)}},this))},getItemText:function(d){return c(d).find("> div > .t-in").text()},getItemValue:function(d){return c(d).find('>div>:input[name="itemValue"]').val()||this.getItemText(d)}};c.extend(b.treeview,{getNodeInputsHtml:function(g,e,f,d){return new b.stringBuilder().cat('').cat('').string()},getItemHtml:function(e){var m=e.item,h=e.html,i=e.isFirstLevel,f=e.groupLevel,g=e.itemIndex,d=e.itemsCount,l=new b.stringBuilder().cat(f).catIf(":",f).cat(g).string();h.cat('
      • ').cat('
        ');if((e.isAjax&&m.LoadOnDemand)||(m.Items&&m.Items.length>0)){h.cat('')}if(e.showCheckBoxes&&m.Checkable!==false){var j=e.elementId+"_checkedNodes";h.cat('').cat('').cat('");if(m.Checked){h.cat(b.treeview.getNodeInputsHtml(m.Value,m.Text,j,l))}h.cat("")}var k=m.NavigateUrl||m.Url;h.cat(k?'');if(m.ImageUrl!=null){h.cat('')}if(m.SpriteCssClasses!=null){h.cat('')}h.catIf(m.Text,m.Encoded===false).catIf(m.Text.replace(//g,">"),m.Encoded!==false).cat(k?"":"");if(m.Value){h.cat('')}h.cat("
        ");if(m.Items&&m.Items.length>0){b.treeview.getGroupHtml({data:m.Items,html:h,isAjax:e.isAjax,isFirstLevel:false,showCheckBoxes:e.showCheckBoxes,groupLevel:l,isExpanded:m.Expanded,elementId:e.elementId})}h.cat("
      • ")},getGroupHtml:function(e){var d=e.data;var g=e.html;var j=e.isFirstLevel;var k=e.renderGroup;if(k!==false){g.cat('
      ') + .css({ + position: 'absolute', + visibility: 'visible', + left: -j*(width/cells), + top: -i*(height/rows) + }) + .parent() + .addClass('ui-effects-explode') + .css({ + position: 'absolute', + overflow: 'hidden', + width: width/cells, + height: height/rows, + left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), + top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), + opacity: o.options.mode == 'show' ? 0 : 1 + }).animate({ + left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), + top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), + opacity: o.options.mode == 'show' ? 1 : 0 + }, o.duration || 500); + } + } + + // Set a timeout, to call the callback approx. when the other animations have finished + setTimeout(function() { + + o.options.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide(); + if(o.callback) o.callback.apply(el[0]); // Callback + el.dequeue(); + + $('div.ui-effects-explode').remove(); + + }, o.duration || 500); + + + }); + +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Fade 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)\ +* +* http://docs.jquery.com/UI/Effects/Fade +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.fade = function(o) { + return this.queue(function() { + var elem = $(this), + mode = $.effects.setMode(elem, o.options.mode || 'hide'); + + elem.animate({ opacity: mode }, { + queue: false, + duration: o.duration, + easing: o.options.easing, + complete: function() { + (o.callback && o.callback.apply(this, arguments)); + elem.dequeue(); + } + }); + }); +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Fold 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) +* +* http://docs.jquery.com/UI/Effects/Fold +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.fold = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','bottom','left','right']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode + var size = o.options.size || 15; // Default fold size + var horizFirst = !(!o.options.horizFirst); // Ensure a boolean value + var duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2; + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var widthFirst = ((mode == 'show') != horizFirst); + var ref = widthFirst ? ['width', 'height'] : ['height', 'width']; + var distance = widthFirst ? [wrapper.width(), wrapper.height()] : [wrapper.height(), wrapper.width()]; + var percent = /([0-9]+)%/.exec(size); + if(percent) size = parseInt(percent[1],10) / 100 * distance[mode == 'hide' ? 0 : 1]; + if(mode == 'show') wrapper.css(horizFirst ? {height: 0, width: size} : {height: size, width: 0}); // Shift + + // Animation + var animation1 = {}, animation2 = {}; + animation1[ref[0]] = mode == 'show' ? distance[0] : size; + animation2[ref[1]] = mode == 'show' ? distance[1] : 0; + + // Animate + wrapper.animate(animation1, duration, o.options.easing) + .animate(animation2, duration, o.options.easing, function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(el[0], arguments); // Callback + el.dequeue(); + }); + + }); + +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Highlight 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about)\ +* +* http://docs.jquery.com/UI/Effects/Highlight +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.highlight = function(o) { + return this.queue(function() { + var elem = $(this), + props = ['backgroundImage', 'backgroundColor', 'opacity'], + mode = $.effects.setMode(elem, o.options.mode || 'show'), + animation = { + backgroundColor: elem.css('backgroundColor') + }; + + if (mode == 'hide') { + animation.opacity = 0; + } + + $.effects.save(elem, props); + elem + .show() + .css({ + backgroundImage: 'none', + backgroundColor: o.options.color || '#ffff99' + }) + .animate(animation, { + queue: false, + duration: o.duration, + easing: o.options.easing, + complete: function() { + (mode == 'hide' && elem.hide()); + $.effects.restore(elem, props); + (mode == 'show' && !$.support.opacity && this.style.removeAttribute('filter')); + (o.callback && o.callback.apply(this, arguments)); + elem.dequeue(); + } + }); + }); +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Pulsate 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) +* +* http://docs.jquery.com/UI/Effects/Pulsate +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.pulsate = function(o) { + return this.queue(function() { + var elem = $(this), + mode = $.effects.setMode(elem, o.options.mode || 'show'); + times = ((o.options.times || 5) * 2) - 1; + duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2, + isVisible = elem.is(':visible'), + animateTo = 0; + + if (!isVisible) { + elem.css('opacity', 0).show(); + animateTo = 1; + } + + if ((mode == 'hide' && isVisible) || (mode == 'show' && !isVisible)) { + times--; + } + + for (var i = 0; i < times; i++) { + elem.animate({ opacity: animateTo }, duration, o.options.easing); + animateTo = (animateTo + 1) % 2; + } + + elem.animate({ opacity: animateTo }, duration, o.options.easing, function() { + if (animateTo == 0) { + elem.hide(); + } + (o.callback && o.callback.apply(this, arguments)); + }); + + elem + .queue('fx', function() { elem.dequeue(); }) + .dequeue(); + }); +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Scale 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) +* +* http://docs.jquery.com/UI/Effects/Scale +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.puff = function(o) { + return this.queue(function() { + var elem = $(this), + mode = $.effects.setMode(elem, o.options.mode || 'hide'), + percent = parseInt(o.options.percent, 10) || 150, + factor = percent / 100, + original = { height: elem.height(), width: elem.width() }; + + $.extend(o.options, { + fade: true, + mode: mode, + percent: mode == 'hide' ? percent : 100, + from: mode == 'hide' + ? original + : { + height: original.height * factor, + width: original.width * factor + } + }); + + elem.effect('scale', o.options, o.duration, o.callback); + elem.dequeue(); + }); +}; + +$.effects.scale = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this); + + // Set options + var options = $.extend(true, {}, o.options); + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var percent = parseInt(o.options.percent,10) || (parseInt(o.options.percent,10) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent + var direction = o.options.direction || 'both'; // Set default axis + var origin = o.options.origin; // The origin of the scaling + if (mode != 'effect') { // Set default origin and restore for show/hide + options.origin = origin || ['middle','center']; + options.restore = true; + } + var original = {height: el.height(), width: el.width()}; // Save original + el.from = o.options.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state + + // Adjust + var factor = { // Set scaling factor + y: direction != 'horizontal' ? (percent / 100) : 1, + x: direction != 'vertical' ? (percent / 100) : 1 + }; + el.to = {height: original.height * factor.y, width: original.width * factor.x}; // Set to state + + if (o.options.fade) { // Fade option to support puff + if (mode == 'show') {el.from.opacity = 0; el.to.opacity = 1;}; + if (mode == 'hide') {el.from.opacity = 1; el.to.opacity = 0;}; + }; + + // Animation + options.from = el.from; options.to = el.to; options.mode = mode; + + // Animate + el.effect('size', options, o.duration, o.callback); + el.dequeue(); + }); + +}; + +$.effects.size = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','bottom','left','right','width','height','overflow','opacity']; + var props1 = ['position','top','bottom','left','right','overflow','opacity']; // Always restore + var props2 = ['width','height','overflow']; // Copy for children + var cProps = ['fontSize']; + var vProps = ['borderTopWidth', 'borderBottomWidth', 'paddingTop', 'paddingBottom']; + var hProps = ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var restore = o.options.restore || false; // Default restore + var scale = o.options.scale || 'both'; // Default scale mode + var origin = o.options.origin; // The origin of the sizing + var original = {height: el.height(), width: el.width()}; // Save original + el.from = o.options.from || original; // Default from state + el.to = o.options.to || original; // Default to state + // Adjust + if (origin) { // Calculate baseline shifts + var baseline = $.effects.getBaseline(origin, original); + el.from.top = (original.height - el.from.height) * baseline.y; + el.from.left = (original.width - el.from.width) * baseline.x; + el.to.top = (original.height - el.to.height) * baseline.y; + el.to.left = (original.width - el.to.width) * baseline.x; + }; + var factor = { // Set scaling factor + from: {y: el.from.height / original.height, x: el.from.width / original.width}, + to: {y: el.to.height / original.height, x: el.to.width / original.width} + }; + if (scale == 'box' || scale == 'both') { // Scale the css box + if (factor.from.y != factor.to.y) { // Vertical props scaling + props = props.concat(vProps); + el.from = $.effects.setTransition(el, vProps, factor.from.y, el.from); + el.to = $.effects.setTransition(el, vProps, factor.to.y, el.to); + }; + if (factor.from.x != factor.to.x) { // Horizontal props scaling + props = props.concat(hProps); + el.from = $.effects.setTransition(el, hProps, factor.from.x, el.from); + el.to = $.effects.setTransition(el, hProps, factor.to.x, el.to); + }; + }; + if (scale == 'content' || scale == 'both') { // Scale the content + if (factor.from.y != factor.to.y) { // Vertical props scaling + props = props.concat(cProps); + el.from = $.effects.setTransition(el, cProps, factor.from.y, el.from); + el.to = $.effects.setTransition(el, cProps, factor.to.y, el.to); + }; + }; + $.effects.save(el, restore ? props : props1); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + el.css('overflow','hidden').css(el.from); // Shift + + // Animate + if (scale == 'content' || scale == 'both') { // Scale the children + vProps = vProps.concat(['marginTop','marginBottom']).concat(cProps); // Add margins/font-size + hProps = hProps.concat(['marginLeft','marginRight']); // Add margins + props2 = props.concat(vProps).concat(hProps); // Concat + el.find("*[width]").each(function(){ + child = $(this); + if (restore) $.effects.save(child, props2); + var c_original = {height: child.height(), width: child.width()}; // Save original + child.from = {height: c_original.height * factor.from.y, width: c_original.width * factor.from.x}; + child.to = {height: c_original.height * factor.to.y, width: c_original.width * factor.to.x}; + if (factor.from.y != factor.to.y) { // Vertical props scaling + child.from = $.effects.setTransition(child, vProps, factor.from.y, child.from); + child.to = $.effects.setTransition(child, vProps, factor.to.y, child.to); + }; + if (factor.from.x != factor.to.x) { // Horizontal props scaling + child.from = $.effects.setTransition(child, hProps, factor.from.x, child.from); + child.to = $.effects.setTransition(child, hProps, factor.to.x, child.to); + }; + child.css(child.from); // Shift children + child.animate(child.to, o.duration, o.options.easing, function(){ + if (restore) $.effects.restore(child, props2); // Restore children + }); // Animate children + }); + }; + + // Animate + el.animate(el.to, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if (el.to.opacity === 0) { + el.css('opacity', el.from.opacity); + } + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, restore ? props : props1); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Shake 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) +* +* http://docs.jquery.com/UI/Effects/Shake +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.shake = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','bottom','left','right']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode + var direction = o.options.direction || 'left'; // Default direction + var distance = o.options.distance || 20; // Default distance + var times = o.options.times || 3; // Default # of times + var speed = o.duration || o.options.duration || 140; // Default speed per shake + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + + // Animation + var animation = {}, animation1 = {}, animation2 = {}; + animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; + animation1[ref] = (motion == 'pos' ? '+=' : '-=') + distance * 2; + animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2; + + // Animate + el.animate(animation, speed, o.options.easing); + for (var i = 1; i < times; i++) { // Shakes + el.animate(animation1, speed, o.options.easing).animate(animation2, speed, o.options.easing); + }; + el.animate(animation1, speed, o.options.easing). + animate(animation, speed / 2, o.options.easing, function(){ // Last shake + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + }); + el.queue('fx', function() { el.dequeue(); }); + el.dequeue(); + }); + +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Slide 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) +* +* http://docs.jquery.com/UI/Effects/Slide +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.slide = function(o) { + + return this.queue(function() { + + // Create element + var el = $(this), props = ['position','top','bottom','left','right']; + + // Set options + var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode + var direction = o.options.direction || 'left'; // Default Direction + + // Adjust + $.effects.save(el, props); el.show(); // Save & Show + $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; + var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); + if (mode == 'show') el.css(ref, motion == 'pos' ? (isNaN(distance) ? "-" + distance : -distance) : distance); // Shift + + // Animation + var animation = {}; + animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + + // Animate + el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + if(mode == 'hide') el.hide(); // Hide + $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore + if(o.callback) o.callback.apply(this, arguments); // Callback + el.dequeue(); + }}); + + }); + +}; + +})(jQuery); +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI Effects Transfer 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) +* +* http://docs.jquery.com/UI/Effects/Transfer +* +* Depends: +* jquery.effects.core.js +*/ +(function( $, undefined ) { + +$.effects.transfer = function(o) { + return this.queue(function() { + var elem = $(this), + target = $(o.options.to), + endPosition = target.offset(), + animation = { + top: endPosition.top, + left: endPosition.left, + height: target.innerHeight(), + width: target.innerWidth() + }, + startPosition = elem.offset(), + transfer = $('
      ') + .appendTo(document.body) + .addClass(o.options.className) + .css({ + top: startPosition.top, + left: startPosition.left, + height: elem.innerHeight(), + width: elem.innerWidth(), + position: 'absolute' + }) + .animate(animation, o.duration, o.options.easing, function() { + transfer.remove(); + (o.callback && o.callback.apply(elem[0], arguments)); + elem.dequeue(); + }); + }); +}; + +})(jQuery); diff --git a/CharityPortal/CharityPortal/Scripts/jquery-ui-1.8.11.min.js b/CharityPortal/CharityPortal/Scripts/jquery-ui-1.8.11.min.js new file mode 100644 index 0000000..89ff61b --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery-ui-1.8.11.min.js @@ -0,0 +1,938 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery UI 1.8.11 +* +* Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) +* +* http://docs.jquery.com/UI +*/ +(function(c,j){function k(a){return!c(a).parents().andSelf().filter(function(){return c.curCSS(this,"visibility")==="hidden"||c.expr.filters.hidden(this)}).length}c.ui=c.ui||{};if(!c.ui.version){c.extend(c.ui,{version:"1.8.11",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106, +NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});c.fn.extend({_focus:c.fn.focus,focus:function(a,b){return typeof a==="number"?this.each(function(){var d=this;setTimeout(function(){c(d).focus();b&&b.call(d)},a)}):this._focus.apply(this,arguments)},scrollParent:function(){var a;a=c.browser.msie&&/(static|relative)/.test(this.css("position"))||/absolute/.test(this.css("position"))?this.parents().filter(function(){return/(relative|absolute|fixed)/.test(c.curCSS(this, +"position",1))&&/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0):this.parents().filter(function(){return/(auto|scroll)/.test(c.curCSS(this,"overflow",1)+c.curCSS(this,"overflow-y",1)+c.curCSS(this,"overflow-x",1))}).eq(0);return/fixed/.test(this.css("position"))||!a.length?c(document):a},zIndex:function(a){if(a!==j)return this.css("zIndex",a);if(this.length){a=c(this[0]);for(var b;a.length&&a[0]!==document;){b=a.css("position"); +if(b==="absolute"||b==="relative"||b==="fixed"){b=parseInt(a.css("zIndex"),10);if(!isNaN(b)&&b!==0)return b}a=a.parent()}}return 0},disableSelection:function(){return this.bind((c.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(a){a.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});c.each(["Width","Height"],function(a,b){function d(f,g,l,m){c.each(e,function(){g-=parseFloat(c.curCSS(f,"padding"+this,true))||0;if(l)g-=parseFloat(c.curCSS(f, +"border"+this+"Width",true))||0;if(m)g-=parseFloat(c.curCSS(f,"margin"+this,true))||0});return g}var e=b==="Width"?["Left","Right"]:["Top","Bottom"],h=b.toLowerCase(),i={innerWidth:c.fn.innerWidth,innerHeight:c.fn.innerHeight,outerWidth:c.fn.outerWidth,outerHeight:c.fn.outerHeight};c.fn["inner"+b]=function(f){if(f===j)return i["inner"+b].call(this);return this.each(function(){c(this).css(h,d(this,f)+"px")})};c.fn["outer"+b]=function(f,g){if(typeof f!=="number")return i["outer"+b].call(this,f);return this.each(function(){c(this).css(h, +d(this,f,true,g)+"px")})}});c.extend(c.expr[":"],{data:function(a,b,d){return!!c.data(a,d[3])},focusable:function(a){var b=a.nodeName.toLowerCase(),d=c.attr(a,"tabindex");if("area"===b){b=a.parentNode;d=b.name;if(!a.href||!d||b.nodeName.toLowerCase()!=="map")return false;a=c("img[usemap=#"+d+"]")[0];return!!a&&k(a)}return(/input|select|textarea|button|object/.test(b)?!a.disabled:"a"==b?a.href||!isNaN(d):!isNaN(d))&&k(a)},tabbable:function(a){var b=c.attr(a,"tabindex");return(isNaN(b)||b>=0)&&c(a).is(":focusable")}}); +c(function(){var a=document.body,b=a.appendChild(b=document.createElement("div"));c.extend(b.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});c.support.minHeight=b.offsetHeight===100;c.support.selectstart="onselectstart"in b;a.removeChild(b).style.display="none"});c.extend(c.ui,{plugin:{add:function(a,b,d){a=c.ui[a].prototype;for(var e in d){a.plugins[e]=a.plugins[e]||[];a.plugins[e].push([b,d[e]])}},call:function(a,b,d){if((b=a.plugins[b])&&a.element[0].parentNode)for(var e=0;e0)return true;a[b]=1;d=a[b]>0;a[b]=0;return d},isOverAxis:function(a,b,d){return a>b&&a=9)&&!a.button)return this._mouseUp(a);if(this._mouseStarted){this._mouseDrag(a);return a.preventDefault()}if(this._mouseDistanceMet(a)&&this._mouseDelayMet(a))(this._mouseStarted=this._mouseStart(this._mouseDownEvent,a)!==false)?this._mouseDrag(a):this._mouseUp(a);return!this._mouseStarted},_mouseUp:function(a){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate); +if(this._mouseStarted){this._mouseStarted=false;a.target==this._mouseDownEvent.target&&b.data(a.target,this.widgetName+".preventClickEvent",true);this._mouseStop(a)}return false},_mouseDistanceMet:function(a){return Math.max(Math.abs(this._mouseDownEvent.pageX-a.pageX),Math.abs(this._mouseDownEvent.pageY-a.pageY))>=this.options.distance},_mouseDelayMet:function(){return this.mouseDelayMet},_mouseStart:function(){},_mouseDrag:function(){},_mouseStop:function(){},_mouseCapture:function(){return true}})})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Position 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Position + */ +(function(c){c.ui=c.ui||{};var n=/left|center|right/,o=/top|center|bottom/,t=c.fn.position,u=c.fn.offset;c.fn.position=function(b){if(!b||!b.of)return t.apply(this,arguments);b=c.extend({},b);var a=c(b.of),d=a[0],g=(b.collision||"flip").split(" "),e=b.offset?b.offset.split(" "):[0,0],h,k,j;if(d.nodeType===9){h=a.width();k=a.height();j={top:0,left:0}}else if(d.setTimeout){h=a.width();k=a.height();j={top:a.scrollTop(),left:a.scrollLeft()}}else if(d.preventDefault){b.at="left top";h=k=0;j={top:b.of.pageY, +left:b.of.pageX}}else{h=a.outerWidth();k=a.outerHeight();j=a.offset()}c.each(["my","at"],function(){var f=(b[this]||"").split(" ");if(f.length===1)f=n.test(f[0])?f.concat(["center"]):o.test(f[0])?["center"].concat(f):["center","center"];f[0]=n.test(f[0])?f[0]:"center";f[1]=o.test(f[1])?f[1]:"center";b[this]=f});if(g.length===1)g[1]=g[0];e[0]=parseInt(e[0],10)||0;if(e.length===1)e[1]=e[0];e[1]=parseInt(e[1],10)||0;if(b.at[0]==="right")j.left+=h;else if(b.at[0]==="center")j.left+=h/2;if(b.at[1]==="bottom")j.top+= +k;else if(b.at[1]==="center")j.top+=k/2;j.left+=e[0];j.top+=e[1];return this.each(function(){var f=c(this),l=f.outerWidth(),m=f.outerHeight(),p=parseInt(c.curCSS(this,"marginLeft",true))||0,q=parseInt(c.curCSS(this,"marginTop",true))||0,v=l+p+(parseInt(c.curCSS(this,"marginRight",true))||0),w=m+q+(parseInt(c.curCSS(this,"marginBottom",true))||0),i=c.extend({},j),r;if(b.my[0]==="right")i.left-=l;else if(b.my[0]==="center")i.left-=l/2;if(b.my[1]==="bottom")i.top-=m;else if(b.my[1]==="center")i.top-= +m/2;i.left=Math.round(i.left);i.top=Math.round(i.top);r={left:i.left-p,top:i.top-q};c.each(["left","top"],function(s,x){c.ui.position[g[s]]&&c.ui.position[g[s]][x](i,{targetWidth:h,targetHeight:k,elemWidth:l,elemHeight:m,collisionPosition:r,collisionWidth:v,collisionHeight:w,offset:e,my:b.my,at:b.at})});c.fn.bgiframe&&f.bgiframe();f.offset(c.extend(i,{using:b.using}))})};c.ui.position={fit:{left:function(b,a){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();b.left= +d>0?b.left-d:Math.max(b.left-a.collisionPosition.left,b.left)},top:function(b,a){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();b.top=d>0?b.top-d:Math.max(b.top-a.collisionPosition.top,b.top)}},flip:{left:function(b,a){if(a.at[0]!=="center"){var d=c(window);d=a.collisionPosition.left+a.collisionWidth-d.width()-d.scrollLeft();var g=a.my[0]==="left"?-a.elemWidth:a.my[0]==="right"?a.elemWidth:0,e=a.at[0]==="left"?a.targetWidth:-a.targetWidth,h=-2*a.offset[0];b.left+= +a.collisionPosition.left<0?g+e+h:d>0?g+e+h:0}},top:function(b,a){if(a.at[1]!=="center"){var d=c(window);d=a.collisionPosition.top+a.collisionHeight-d.height()-d.scrollTop();var g=a.my[1]==="top"?-a.elemHeight:a.my[1]==="bottom"?a.elemHeight:0,e=a.at[1]==="top"?a.targetHeight:-a.targetHeight,h=-2*a.offset[1];b.top+=a.collisionPosition.top<0?g+e+h:d>0?g+e+h:0}}}};if(!c.offset.setOffset){c.offset.setOffset=function(b,a){if(/static/.test(c.curCSS(b,"position")))b.style.position="relative";var d=c(b), +g=d.offset(),e=parseInt(c.curCSS(b,"top",true),10)||0,h=parseInt(c.curCSS(b,"left",true),10)||0;g={top:a.top-g.top+e,left:a.left-g.left+h};"using"in a?a.using.call(b,g):d.css(g)};c.fn.offset=function(b){var a=this[0];if(!a||!a.ownerDocument)return null;if(b)return this.each(function(){c.offset.setOffset(this,b)});return u.call(this)}}})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Draggable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Draggables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(d){d.widget("ui.draggable",d.ui.mouse,{widgetEventPrefix:"drag",options:{addClasses:true,appendTo:"parent",axis:false,connectToSortable:false,containment:false,cursor:"auto",cursorAt:false,grid:false,handle:false,helper:"original",iframeFix:false,opacity:false,refreshPositions:false,revert:false,revertDuration:500,scope:"default",scroll:true,scrollSensitivity:20,scrollSpeed:20,snap:false,snapMode:"both",snapTolerance:20,stack:false,zIndex:false},_create:function(){if(this.options.helper== +"original"&&!/^(?:r|a|f)/.test(this.element.css("position")))this.element[0].style.position="relative";this.options.addClasses&&this.element.addClass("ui-draggable");this.options.disabled&&this.element.addClass("ui-draggable-disabled");this._mouseInit()},destroy:function(){if(this.element.data("draggable")){this.element.removeData("draggable").unbind(".draggable").removeClass("ui-draggable ui-draggable-dragging ui-draggable-disabled");this._mouseDestroy();return this}},_mouseCapture:function(a){var b= +this.options;if(this.helper||b.disabled||d(a.target).is(".ui-resizable-handle"))return false;this.handle=this._getHandle(a);if(!this.handle)return false;return true},_mouseStart:function(a){var b=this.options;this.helper=this._createHelper(a);this._cacheHelperProportions();if(d.ui.ddmanager)d.ui.ddmanager.current=this;this._cacheMargins();this.cssPosition=this.helper.css("position");this.scrollParent=this.helper.scrollParent();this.offset=this.positionAbs=this.element.offset();this.offset={top:this.offset.top- +this.margins.top,left:this.offset.left-this.margins.left};d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this.position=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);b.containment&&this._setContainment();if(this._trigger("start",a)===false){this._clear();return false}this._cacheHelperProportions(); +d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.helper.addClass("ui-draggable-dragging");this._mouseDrag(a,true);return true},_mouseDrag:function(a,b){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!b){b=this._uiHash();if(this._trigger("drag",a,b)===false){this._mouseUp({});return false}this.position=b.position}if(!this.options.axis||this.options.axis!="y")this.helper[0].style.left=this.position.left+"px";if(!this.options.axis|| +this.options.axis!="x")this.helper[0].style.top=this.position.top+"px";d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);return false},_mouseStop:function(a){var b=false;if(d.ui.ddmanager&&!this.options.dropBehaviour)b=d.ui.ddmanager.drop(this,a);if(this.dropped){b=this.dropped;this.dropped=false}if((!this.element[0]||!this.element[0].parentNode)&&this.options.helper=="original")return false;if(this.options.revert=="invalid"&&!b||this.options.revert=="valid"&&b||this.options.revert===true||d.isFunction(this.options.revert)&& +this.options.revert.call(this.element,b)){var c=this;d(this.helper).animate(this.originalPosition,parseInt(this.options.revertDuration,10),function(){c._trigger("stop",a)!==false&&c._clear()})}else this._trigger("stop",a)!==false&&this._clear();return false},cancel:function(){this.helper.is(".ui-draggable-dragging")?this._mouseUp({}):this._clear();return this},_getHandle:function(a){var b=!this.options.handle||!d(this.options.handle,this.element).length?true:false;d(this.options.handle,this.element).find("*").andSelf().each(function(){if(this== +a.target)b=true});return b},_createHelper:function(a){var b=this.options;a=d.isFunction(b.helper)?d(b.helper.apply(this.element[0],[a])):b.helper=="clone"?this.element.clone():this.element;a.parents("body").length||a.appendTo(b.appendTo=="parent"?this.element[0].parentNode:b.appendTo);a[0]!=this.element[0]&&!/(fixed|absolute)/.test(a.css("position"))&&a.css("position","absolute");return a},_adjustOffsetFromHelper:function(a){if(typeof a=="string")a=a.split(" ");if(d.isArray(a))a={left:+a[0],top:+a[1]|| +0};if("left"in a)this.offset.click.left=a.left+this.margins.left;if("right"in a)this.offset.click.left=this.helperProportions.width-a.right+this.margins.left;if("top"in a)this.offset.click.top=a.top+this.margins.top;if("bottom"in a)this.offset.click.top=this.helperProportions.height-a.bottom+this.margins.top},_getParentOffset:function(){this.offsetParent=this.helper.offsetParent();var a=this.offsetParent.offset();if(this.cssPosition=="absolute"&&this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0])){a.left+=this.scrollParent.scrollLeft();a.top+=this.scrollParent.scrollTop()}if(this.offsetParent[0]==document.body||this.offsetParent[0].tagName&&this.offsetParent[0].tagName.toLowerCase()=="html"&&d.browser.msie)a={top:0,left:0};return{top:a.top+(parseInt(this.offsetParent.css("borderTopWidth"),10)||0),left:a.left+(parseInt(this.offsetParent.css("borderLeftWidth"),10)||0)}},_getRelativeOffset:function(){if(this.cssPosition=="relative"){var a=this.element.position();return{top:a.top- +(parseInt(this.helper.css("top"),10)||0)+this.scrollParent.scrollTop(),left:a.left-(parseInt(this.helper.css("left"),10)||0)+this.scrollParent.scrollLeft()}}else return{top:0,left:0}},_cacheMargins:function(){this.margins={left:parseInt(this.element.css("marginLeft"),10)||0,top:parseInt(this.element.css("marginTop"),10)||0,right:parseInt(this.element.css("marginRight"),10)||0,bottom:parseInt(this.element.css("marginBottom"),10)||0}},_cacheHelperProportions:function(){this.helperProportions={width:this.helper.outerWidth(), +height:this.helper.outerHeight()}},_setContainment:function(){var a=this.options;if(a.containment=="parent")a.containment=this.helper[0].parentNode;if(a.containment=="document"||a.containment=="window")this.containment=[(a.containment=="document"?0:d(window).scrollLeft())-this.offset.relative.left-this.offset.parent.left,(a.containment=="document"?0:d(window).scrollTop())-this.offset.relative.top-this.offset.parent.top,(a.containment=="document"?0:d(window).scrollLeft())+d(a.containment=="document"? +document:window).width()-this.helperProportions.width-this.margins.left,(a.containment=="document"?0:d(window).scrollTop())+(d(a.containment=="document"?document:window).height()||document.body.parentNode.scrollHeight)-this.helperProportions.height-this.margins.top];if(!/^(document|window|parent)$/.test(a.containment)&&a.containment.constructor!=Array){var b=d(a.containment)[0];if(b){a=d(a.containment).offset();var c=d(b).css("overflow")!="hidden";this.containment=[a.left+(parseInt(d(b).css("borderLeftWidth"), +10)||0)+(parseInt(d(b).css("paddingLeft"),10)||0),a.top+(parseInt(d(b).css("borderTopWidth"),10)||0)+(parseInt(d(b).css("paddingTop"),10)||0),a.left+(c?Math.max(b.scrollWidth,b.offsetWidth):b.offsetWidth)-(parseInt(d(b).css("borderLeftWidth"),10)||0)-(parseInt(d(b).css("paddingRight"),10)||0)-this.helperProportions.width-this.margins.left-this.margins.right,a.top+(c?Math.max(b.scrollHeight,b.offsetHeight):b.offsetHeight)-(parseInt(d(b).css("borderTopWidth"),10)||0)-(parseInt(d(b).css("paddingBottom"), +10)||0)-this.helperProportions.height-this.margins.top-this.margins.bottom]}}else if(a.containment.constructor==Array)this.containment=a.containment},_convertPositionTo:function(a,b){if(!b)b=this.position;a=a=="absolute"?1:-1;var c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0],this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName);return{top:b.top+this.offset.relative.top*a+this.offset.parent.top*a-(d.browser.safari&& +d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollTop():f?0:c.scrollTop())*a),left:b.left+this.offset.relative.left*a+this.offset.parent.left*a-(d.browser.safari&&d.browser.version<526&&this.cssPosition=="fixed"?0:(this.cssPosition=="fixed"?-this.scrollParent.scrollLeft():f?0:c.scrollLeft())*a)}},_generatePosition:function(a){var b=this.options,c=this.cssPosition=="absolute"&&!(this.scrollParent[0]!=document&&d.ui.contains(this.scrollParent[0], +this.offsetParent[0]))?this.offsetParent:this.scrollParent,f=/(html|body)/i.test(c[0].tagName),e=a.pageX,g=a.pageY;if(this.originalPosition){if(this.containment){if(a.pageX-this.offset.click.leftthis.containment[2])e=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g= +this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.topthis.containment[3])?g:!(g-this.offset.click.topthis.containment[2])? +e:!(e-this.offset.click.left
    ').css({width:this.offsetWidth+ +"px",height:this.offsetHeight+"px",position:"absolute",opacity:"0.001",zIndex:1E3}).css(d(this).offset()).appendTo("body")})},stop:function(){d("div.ui-draggable-iframeFix").each(function(){this.parentNode.removeChild(this)})}});d.ui.plugin.add("draggable","opacity",{start:function(a,b){a=d(b.helper);b=d(this).data("draggable").options;if(a.css("opacity"))b._opacity=a.css("opacity");a.css("opacity",b.opacity)},stop:function(a,b){a=d(this).data("draggable").options;a._opacity&&d(b.helper).css("opacity", +a._opacity)}});d.ui.plugin.add("draggable","scroll",{start:function(){var a=d(this).data("draggable");if(a.scrollParent[0]!=document&&a.scrollParent[0].tagName!="HTML")a.overflowOffset=a.scrollParent.offset()},drag:function(a){var b=d(this).data("draggable"),c=b.options,f=false;if(b.scrollParent[0]!=document&&b.scrollParent[0].tagName!="HTML"){if(!c.axis||c.axis!="x")if(b.overflowOffset.top+b.scrollParent[0].offsetHeight-a.pageY=0;h--){var i=c.snapElements[h].left,k=i+c.snapElements[h].width,j=c.snapElements[h].top,l=j+c.snapElements[h].height;if(i-e=j&&f<=l||h>=j&&h<=l||fl)&&(e>= +i&&e<=k||g>=i&&g<=k||ek);default:return false}};d.ui.ddmanager={current:null,droppables:{"default":[]},prepareOffsets:function(a,b){var c=d.ui.ddmanager.droppables[a.options.scope]||[],e=b?b.type:null,g=(a.currentItem||a.element).find(":data(droppable)").andSelf(),f=0;a:for(;f
    ').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(), +top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle= +this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=a.handles||(!e(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne", +nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all")this.handles="n,e,s,w,se,sw,ne,nw";var c=this.handles.split(",");this.handles={};for(var d=0;d
    ');/sw|se|ne|nw/.test(f)&&g.css({zIndex:++a.zIndex});"se"==f&&g.addClass("ui-icon ui-icon-gripsmall-diagonal-se");this.handles[f]=".ui-resizable-"+f;this.element.append(g)}}this._renderAxis=function(h){h=h||this.element;for(var i in this.handles){if(this.handles[i].constructor== +String)this.handles[i]=e(this.handles[i],this.element).show();if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var j=e(this.handles[i],this.element),k=0;k=/sw|ne|nw|se|n|s/.test(i)?j.outerHeight():j.outerWidth();j=["padding",/ne|nw|n/.test(i)?"Top":/se|sw|s/.test(i)?"Bottom":/^e$/.test(i)?"Right":"Left"].join("");h.css(j,k);this._proportionallyResize()}e(this.handles[i])}};this._renderAxis(this.element);this._handles=e(".ui-resizable-handle",this.element).disableSelection(); +this._handles.mouseover(function(){if(!b.resizing){if(this.className)var h=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i);b.axis=h&&h[1]?h[1]:"se"}});if(a.autoHide){this._handles.hide();e(this.element).addClass("ui-resizable-autohide").hover(function(){e(this).removeClass("ui-resizable-autohide");b._handles.show()},function(){if(!b.resizing){e(this).addClass("ui-resizable-autohide");b._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var b=function(c){e(c).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()}; +if(this.elementIsWrapper){b(this.element);var a=this.element;a.after(this.originalElement.css({position:a.css("position"),width:a.outerWidth(),height:a.outerHeight(),top:a.css("top"),left:a.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);b(this.originalElement);return this},_mouseCapture:function(b){var a=false;for(var c in this.handles)if(e(this.handles[c])[0]==b.target)a=true;return!this.options.disabled&&a},_mouseStart:function(b){var a=this.options,c=this.element.position(), +d=this.element;this.resizing=true;this.documentScroll={top:e(document).scrollTop(),left:e(document).scrollLeft()};if(d.is(".ui-draggable")||/absolute/.test(d.css("position")))d.css({position:"absolute",top:c.top,left:c.left});e.browser.opera&&/relative/.test(d.css("position"))&&d.css({position:"relative",top:"auto",left:"auto"});this._renderProxy();c=m(this.helper.css("left"));var f=m(this.helper.css("top"));if(a.containment){c+=e(a.containment).scrollLeft()||0;f+=e(a.containment).scrollTop()||0}this.offset= +this.helper.offset();this.position={left:c,top:f};this.size=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalSize=this._helper?{width:d.outerWidth(),height:d.outerHeight()}:{width:d.width(),height:d.height()};this.originalPosition={left:c,top:f};this.sizeDiff={width:d.outerWidth()-d.width(),height:d.outerHeight()-d.height()};this.originalMousePosition={left:b.pageX,top:b.pageY};this.aspectRatio=typeof a.aspectRatio=="number"?a.aspectRatio: +this.originalSize.width/this.originalSize.height||1;a=e(".ui-resizable-"+this.axis).css("cursor");e("body").css("cursor",a=="auto"?this.axis+"-resize":a);d.addClass("ui-resizable-resizing");this._propagate("start",b);return true},_mouseDrag:function(b){var a=this.helper,c=this.originalMousePosition,d=this._change[this.axis];if(!d)return false;c=d.apply(this,[b,b.pageX-c.left||0,b.pageY-c.top||0]);if(this._aspectRatio||b.shiftKey)c=this._updateRatio(c,b);c=this._respectSize(c,b);this._propagate("resize", +b);a.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});!this._helper&&this._proportionallyResizeElements.length&&this._proportionallyResize();this._updateCache(c);this._trigger("resize",b,this.ui());return false},_mouseStop:function(b){this.resizing=false;var a=this.options,c=this;if(this._helper){var d=this._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName);d=f&&e.ui.hasScroll(d[0],"left")?0:c.sizeDiff.height; +f=f?0:c.sizeDiff.width;f={width:c.helper.width()-f,height:c.helper.height()-d};d=parseInt(c.element.css("left"),10)+(c.position.left-c.originalPosition.left)||null;var g=parseInt(c.element.css("top"),10)+(c.position.top-c.originalPosition.top)||null;a.animate||this.element.css(e.extend(f,{top:g,left:d}));c.helper.height(c.size.height);c.helper.width(c.size.width);this._helper&&!a.animate&&this._proportionallyResize()}e("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing"); +this._propagate("stop",b);this._helper&&this.helper.remove();return false},_updateCache:function(b){this.offset=this.helper.offset();if(l(b.left))this.position.left=b.left;if(l(b.top))this.position.top=b.top;if(l(b.height))this.size.height=b.height;if(l(b.width))this.size.width=b.width},_updateRatio:function(b){var a=this.position,c=this.size,d=this.axis;if(b.height)b.width=c.height*this.aspectRatio;else if(b.width)b.height=c.width/this.aspectRatio;if(d=="sw"){b.left=a.left+(c.width-b.width);b.top= +null}if(d=="nw"){b.top=a.top+(c.height-b.height);b.left=a.left+(c.width-b.width)}return b},_respectSize:function(b){var a=this.options,c=this.axis,d=l(b.width)&&a.maxWidth&&a.maxWidthb.width,h=l(b.height)&&a.minHeight&&a.minHeight>b.height;if(g)b.width=a.minWidth;if(h)b.height=a.minHeight;if(d)b.width=a.maxWidth;if(f)b.height=a.maxHeight;var i=this.originalPosition.left+this.originalSize.width,j=this.position.top+ +this.size.height,k=/sw|nw|w/.test(c);c=/nw|ne|n/.test(c);if(g&&k)b.left=i-a.minWidth;if(d&&k)b.left=i-a.maxWidth;if(h&&c)b.top=j-a.minHeight;if(f&&c)b.top=j-a.maxHeight;if((a=!b.width&&!b.height)&&!b.left&&b.top)b.top=null;else if(a&&!b.top&&b.left)b.left=null;return b},_proportionallyResize:function(){if(this._proportionallyResizeElements.length)for(var b=this.helper||this.element,a=0;a
    ');var a=e.browser.msie&&e.browser.version<7,c=a?1:0;a=a?2:-1;this.helper.addClass(this._helper).css({width:this.element.outerWidth()+a,height:this.element.outerHeight()+a,position:"absolute",left:this.elementOffset.left-c+"px",top:this.elementOffset.top-c+"px",zIndex:++b.zIndex});this.helper.appendTo("body").disableSelection()}else this.helper=this.element},_change:{e:function(b, +a){return{width:this.originalSize.width+a}},w:function(b,a){return{left:this.originalPosition.left+a,width:this.originalSize.width-a}},n:function(b,a,c){return{top:this.originalPosition.top+c,height:this.originalSize.height-c}},s:function(b,a,c){return{height:this.originalSize.height+c}},se:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},sw:function(b,a,c){return e.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[b,a, +c]))},ne:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[b,a,c]))},nw:function(b,a,c){return e.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[b,a,c]))}},_propagate:function(b,a){e.ui.plugin.call(this,b,[a,this.ui()]);b!="resize"&&this._trigger(b,a,this.ui())},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize, +originalPosition:this.originalPosition}}});e.extend(e.ui.resizable,{version:"1.8.11"});e.ui.plugin.add("resizable","alsoResize",{start:function(){var b=e(this).data("resizable").options,a=function(c){e(c).each(function(){var d=e(this);d.data("resizable-alsoresize",{width:parseInt(d.width(),10),height:parseInt(d.height(),10),left:parseInt(d.css("left"),10),top:parseInt(d.css("top"),10),position:d.css("position")})})};if(typeof b.alsoResize=="object"&&!b.alsoResize.parentNode)if(b.alsoResize.length){b.alsoResize= +b.alsoResize[0];a(b.alsoResize)}else e.each(b.alsoResize,function(c){a(c)});else a(b.alsoResize)},resize:function(b,a){var c=e(this).data("resizable");b=c.options;var d=c.originalSize,f=c.originalPosition,g={height:c.size.height-d.height||0,width:c.size.width-d.width||0,top:c.position.top-f.top||0,left:c.position.left-f.left||0},h=function(i,j){e(i).each(function(){var k=e(this),q=e(this).data("resizable-alsoresize"),p={},r=j&&j.length?j:k.parents(a.originalElement[0]).length?["width","height"]:["width", +"height","top","left"];e.each(r,function(n,o){if((n=(q[o]||0)+(g[o]||0))&&n>=0)p[o]=n||null});if(e.browser.opera&&/relative/.test(k.css("position"))){c._revertToRelativePosition=true;k.css({position:"absolute",top:"auto",left:"auto"})}k.css(p)})};typeof b.alsoResize=="object"&&!b.alsoResize.nodeType?e.each(b.alsoResize,function(i,j){h(i,j)}):h(b.alsoResize)},stop:function(){var b=e(this).data("resizable"),a=b.options,c=function(d){e(d).each(function(){var f=e(this);f.css({position:f.data("resizable-alsoresize").position})})}; +if(b._revertToRelativePosition){b._revertToRelativePosition=false;typeof a.alsoResize=="object"&&!a.alsoResize.nodeType?e.each(a.alsoResize,function(d){c(d)}):c(a.alsoResize)}e(this).removeData("resizable-alsoresize")}});e.ui.plugin.add("resizable","animate",{stop:function(b){var a=e(this).data("resizable"),c=a.options,d=a._proportionallyResizeElements,f=d.length&&/textarea/i.test(d[0].nodeName),g=f&&e.ui.hasScroll(d[0],"left")?0:a.sizeDiff.height;f={width:a.size.width-(f?0:a.sizeDiff.width),height:a.size.height- +g};g=parseInt(a.element.css("left"),10)+(a.position.left-a.originalPosition.left)||null;var h=parseInt(a.element.css("top"),10)+(a.position.top-a.originalPosition.top)||null;a.element.animate(e.extend(f,h&&g?{top:h,left:g}:{}),{duration:c.animateDuration,easing:c.animateEasing,step:function(){var i={width:parseInt(a.element.css("width"),10),height:parseInt(a.element.css("height"),10),top:parseInt(a.element.css("top"),10),left:parseInt(a.element.css("left"),10)};d&&d.length&&e(d[0]).css({width:i.width, +height:i.height});a._updateCache(i);a._propagate("resize",b)}})}});e.ui.plugin.add("resizable","containment",{start:function(){var b=e(this).data("resizable"),a=b.element,c=b.options.containment;if(a=c instanceof e?c.get(0):/parent/.test(c)?a.parent().get(0):c){b.containerElement=e(a);if(/document/.test(c)||c==document){b.containerOffset={left:0,top:0};b.containerPosition={left:0,top:0};b.parentData={element:e(document),left:0,top:0,width:e(document).width(),height:e(document).height()||document.body.parentNode.scrollHeight}}else{var d= +e(a),f=[];e(["Top","Right","Left","Bottom"]).each(function(i,j){f[i]=m(d.css("padding"+j))});b.containerOffset=d.offset();b.containerPosition=d.position();b.containerSize={height:d.innerHeight()-f[3],width:d.innerWidth()-f[1]};c=b.containerOffset;var g=b.containerSize.height,h=b.containerSize.width;h=e.ui.hasScroll(a,"left")?a.scrollWidth:h;g=e.ui.hasScroll(a)?a.scrollHeight:g;b.parentData={element:a,left:c.left,top:c.top,width:h,height:g}}}},resize:function(b){var a=e(this).data("resizable"),c=a.options, +d=a.containerOffset,f=a.position;b=a._aspectRatio||b.shiftKey;var g={top:0,left:0},h=a.containerElement;if(h[0]!=document&&/static/.test(h.css("position")))g=d;if(f.left<(a._helper?d.left:0)){a.size.width+=a._helper?a.position.left-d.left:a.position.left-g.left;if(b)a.size.height=a.size.width/c.aspectRatio;a.position.left=c.helper?d.left:0}if(f.top<(a._helper?d.top:0)){a.size.height+=a._helper?a.position.top-d.top:a.position.top;if(b)a.size.width=a.size.height*c.aspectRatio;a.position.top=a._helper? +d.top:0}a.offset.left=a.parentData.left+a.position.left;a.offset.top=a.parentData.top+a.position.top;c=Math.abs((a._helper?a.offset.left-g.left:a.offset.left-g.left)+a.sizeDiff.width);d=Math.abs((a._helper?a.offset.top-g.top:a.offset.top-d.top)+a.sizeDiff.height);f=a.containerElement.get(0)==a.element.parent().get(0);g=/relative|absolute/.test(a.containerElement.css("position"));if(f&&g)c-=a.parentData.left;if(c+a.size.width>=a.parentData.width){a.size.width=a.parentData.width-c;if(b)a.size.height= +a.size.width/a.aspectRatio}if(d+a.size.height>=a.parentData.height){a.size.height=a.parentData.height-d;if(b)a.size.width=a.size.height*a.aspectRatio}},stop:function(){var b=e(this).data("resizable"),a=b.options,c=b.containerOffset,d=b.containerPosition,f=b.containerElement,g=e(b.helper),h=g.offset(),i=g.outerWidth()-b.sizeDiff.width;g=g.outerHeight()-b.sizeDiff.height;b._helper&&!a.animate&&/relative/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g});b._helper&&!a.animate&& +/static/.test(f.css("position"))&&e(this).css({left:h.left-d.left-c.left,width:i,height:g})}});e.ui.plugin.add("resizable","ghost",{start:function(){var b=e(this).data("resizable"),a=b.options,c=b.size;b.ghost=b.originalElement.clone();b.ghost.css({opacity:0.25,display:"block",position:"relative",height:c.height,width:c.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof a.ghost=="string"?a.ghost:"");b.ghost.appendTo(b.helper)},resize:function(){var b=e(this).data("resizable"); +b.ghost&&b.ghost.css({position:"relative",height:b.size.height,width:b.size.width})},stop:function(){var b=e(this).data("resizable");b.ghost&&b.helper&&b.helper.get(0).removeChild(b.ghost.get(0))}});e.ui.plugin.add("resizable","grid",{resize:function(){var b=e(this).data("resizable"),a=b.options,c=b.size,d=b.originalSize,f=b.originalPosition,g=b.axis;a.grid=typeof a.grid=="number"?[a.grid,a.grid]:a.grid;var h=Math.round((c.width-d.width)/(a.grid[0]||1))*(a.grid[0]||1);a=Math.round((c.height-d.height)/ +(a.grid[1]||1))*(a.grid[1]||1);if(/^(se|s|e)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else if(/^(ne)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}else{if(/^(sw)$/.test(g)){b.size.width=d.width+h;b.size.height=d.height+a}else{b.size.width=d.width+h;b.size.height=d.height+a;b.position.top=f.top-a}b.position.left=f.left-h}}});var m=function(b){return parseInt(b,10)||0},l=function(b){return!isNaN(parseInt(b,10))}})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Selectable 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Selectables + * + * Depends: + * jquery.ui.core.js + * jquery.ui.mouse.js + * jquery.ui.widget.js + */ +(function(e){e.widget("ui.selectable",e.ui.mouse,{options:{appendTo:"body",autoRefresh:true,distance:0,filter:"*",tolerance:"touch"},_create:function(){var c=this;this.element.addClass("ui-selectable");this.dragged=false;var f;this.refresh=function(){f=e(c.options.filter,c.element[0]);f.each(function(){var d=e(this),b=d.offset();e.data(this,"selectable-item",{element:this,$element:d,left:b.left,top:b.top,right:b.left+d.outerWidth(),bottom:b.top+d.outerHeight(),startselected:false,selected:d.hasClass("ui-selected"), +selecting:d.hasClass("ui-selecting"),unselecting:d.hasClass("ui-unselecting")})})};this.refresh();this.selectees=f.addClass("ui-selectee");this._mouseInit();this.helper=e("
    ")},destroy:function(){this.selectees.removeClass("ui-selectee").removeData("selectable-item");this.element.removeClass("ui-selectable ui-selectable-disabled").removeData("selectable").unbind(".selectable");this._mouseDestroy();return this},_mouseStart:function(c){var f=this;this.opos=[c.pageX, +c.pageY];if(!this.options.disabled){var d=this.options;this.selectees=e(d.filter,this.element[0]);this._trigger("start",c);e(d.appendTo).append(this.helper);this.helper.css({left:c.clientX,top:c.clientY,width:0,height:0});d.autoRefresh&&this.refresh();this.selectees.filter(".ui-selected").each(function(){var b=e.data(this,"selectable-item");b.startselected=true;if(!c.metaKey){b.$element.removeClass("ui-selected");b.selected=false;b.$element.addClass("ui-unselecting");b.unselecting=true;f._trigger("unselecting", +c,{unselecting:b.element})}});e(c.target).parents().andSelf().each(function(){var b=e.data(this,"selectable-item");if(b){var g=!c.metaKey||!b.$element.hasClass("ui-selected");b.$element.removeClass(g?"ui-unselecting":"ui-selected").addClass(g?"ui-selecting":"ui-unselecting");b.unselecting=!g;b.selecting=g;(b.selected=g)?f._trigger("selecting",c,{selecting:b.element}):f._trigger("unselecting",c,{unselecting:b.element});return false}})}},_mouseDrag:function(c){var f=this;this.dragged=true;if(!this.options.disabled){var d= +this.options,b=this.opos[0],g=this.opos[1],h=c.pageX,i=c.pageY;if(b>h){var j=h;h=b;b=j}if(g>i){j=i;i=g;g=j}this.helper.css({left:b,top:g,width:h-b,height:i-g});this.selectees.each(function(){var a=e.data(this,"selectable-item");if(!(!a||a.element==f.element[0])){var k=false;if(d.tolerance=="touch")k=!(a.left>h||a.righti||a.bottomb&&a.rightg&&a.bottom *",opacity:false,placeholder:false,revert:false,scroll:true,scrollSensitivity:20,scrollSpeed:20,scope:"default",tolerance:"intersect",zIndex:1E3},_create:function(){this.containerCache={};this.element.addClass("ui-sortable"); +this.refresh();this.floating=this.items.length?/left|right/.test(this.items[0].item.css("float"))||/inline|table-cell/.test(this.items[0].item.css("display")):false;this.offset=this.element.offset();this._mouseInit()},destroy:function(){this.element.removeClass("ui-sortable ui-sortable-disabled").removeData("sortable").unbind(".sortable");this._mouseDestroy();for(var a=this.items.length-1;a>=0;a--)this.items[a].item.removeData("sortable-item");return this},_setOption:function(a,b){if(a==="disabled"){this.options[a]= +b;this.widget()[b?"addClass":"removeClass"]("ui-sortable-disabled")}else d.Widget.prototype._setOption.apply(this,arguments)},_mouseCapture:function(a,b){if(this.reverting)return false;if(this.options.disabled||this.options.type=="static")return false;this._refreshItems(a);var c=null,e=this;d(a.target).parents().each(function(){if(d.data(this,"sortable-item")==e){c=d(this);return false}});if(d.data(a.target,"sortable-item")==e)c=d(a.target);if(!c)return false;if(this.options.handle&&!b){var f=false; +d(this.options.handle,c).find("*").andSelf().each(function(){if(this==a.target)f=true});if(!f)return false}this.currentItem=c;this._removeCurrentsFromItems();return true},_mouseStart:function(a,b,c){b=this.options;var e=this;this.currentContainer=this;this.refreshPositions();this.helper=this._createHelper(a);this._cacheHelperProportions();this._cacheMargins();this.scrollParent=this.helper.scrollParent();this.offset=this.currentItem.offset();this.offset={top:this.offset.top-this.margins.top,left:this.offset.left- +this.margins.left};this.helper.css("position","absolute");this.cssPosition=this.helper.css("position");d.extend(this.offset,{click:{left:a.pageX-this.offset.left,top:a.pageY-this.offset.top},parent:this._getParentOffset(),relative:this._getRelativeOffset()});this.originalPosition=this._generatePosition(a);this.originalPageX=a.pageX;this.originalPageY=a.pageY;b.cursorAt&&this._adjustOffsetFromHelper(b.cursorAt);this.domPosition={prev:this.currentItem.prev()[0],parent:this.currentItem.parent()[0]}; +this.helper[0]!=this.currentItem[0]&&this.currentItem.hide();this._createPlaceholder();b.containment&&this._setContainment();if(b.cursor){if(d("body").css("cursor"))this._storedCursor=d("body").css("cursor");d("body").css("cursor",b.cursor)}if(b.opacity){if(this.helper.css("opacity"))this._storedOpacity=this.helper.css("opacity");this.helper.css("opacity",b.opacity)}if(b.zIndex){if(this.helper.css("zIndex"))this._storedZIndex=this.helper.css("zIndex");this.helper.css("zIndex",b.zIndex)}if(this.scrollParent[0]!= +document&&this.scrollParent[0].tagName!="HTML")this.overflowOffset=this.scrollParent.offset();this._trigger("start",a,this._uiHash());this._preserveHelperProportions||this._cacheHelperProportions();if(!c)for(c=this.containers.length-1;c>=0;c--)this.containers[c]._trigger("activate",a,e._uiHash(this));if(d.ui.ddmanager)d.ui.ddmanager.current=this;d.ui.ddmanager&&!b.dropBehaviour&&d.ui.ddmanager.prepareOffsets(this,a);this.dragging=true;this.helper.addClass("ui-sortable-helper");this._mouseDrag(a); +return true},_mouseDrag:function(a){this.position=this._generatePosition(a);this.positionAbs=this._convertPositionTo("absolute");if(!this.lastPositionAbs)this.lastPositionAbs=this.positionAbs;if(this.options.scroll){var b=this.options,c=false;if(this.scrollParent[0]!=document&&this.scrollParent[0].tagName!="HTML"){if(this.overflowOffset.top+this.scrollParent[0].offsetHeight-a.pageY=0;b--){c=this.items[b];var e=c.item[0],f=this._intersectsWithPointer(c);if(f)if(e!=this.currentItem[0]&&this.placeholder[f==1?"next":"prev"]()[0]!=e&&!d.ui.contains(this.placeholder[0],e)&&(this.options.type=="semi-dynamic"?!d.ui.contains(this.element[0], +e):true)){this.direction=f==1?"down":"up";if(this.options.tolerance=="pointer"||this._intersectsWithSides(c))this._rearrange(a,c);else break;this._trigger("change",a,this._uiHash());break}}this._contactContainers(a);d.ui.ddmanager&&d.ui.ddmanager.drag(this,a);this._trigger("sort",a,this._uiHash());this.lastPositionAbs=this.positionAbs;return false},_mouseStop:function(a,b){if(a){d.ui.ddmanager&&!this.options.dropBehaviour&&d.ui.ddmanager.drop(this,a);if(this.options.revert){var c=this;b=c.placeholder.offset(); +c.reverting=true;d(this.helper).animate({left:b.left-this.offset.parent.left-c.margins.left+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollLeft),top:b.top-this.offset.parent.top-c.margins.top+(this.offsetParent[0]==document.body?0:this.offsetParent[0].scrollTop)},parseInt(this.options.revert,10)||500,function(){c._clear(a)})}else this._clear(a,b);return false}},cancel:function(){var a=this;if(this.dragging){this._mouseUp({target:null});this.options.helper=="original"?this.currentItem.css(this._storedCSS).removeClass("ui-sortable-helper"): +this.currentItem.show();for(var b=this.containers.length-1;b>=0;b--){this.containers[b]._trigger("deactivate",null,a._uiHash(this));if(this.containers[b].containerCache.over){this.containers[b]._trigger("out",null,a._uiHash(this));this.containers[b].containerCache.over=0}}}if(this.placeholder){this.placeholder[0].parentNode&&this.placeholder[0].parentNode.removeChild(this.placeholder[0]);this.options.helper!="original"&&this.helper&&this.helper[0].parentNode&&this.helper.remove();d.extend(this,{helper:null, +dragging:false,reverting:false,_noFinalSort:null});this.domPosition.prev?d(this.domPosition.prev).after(this.currentItem):d(this.domPosition.parent).prepend(this.currentItem)}return this},serialize:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};d(b).each(function(){var e=(d(a.item||this).attr(a.attribute||"id")||"").match(a.expression||/(.+)[-=_](.+)/);if(e)c.push((a.key||e[1]+"[]")+"="+(a.key&&a.expression?e[1]:e[2]))});!c.length&&a.key&&c.push(a.key+"=");return c.join("&")}, +toArray:function(a){var b=this._getItemsAsjQuery(a&&a.connected),c=[];a=a||{};b.each(function(){c.push(d(a.item||this).attr(a.attribute||"id")||"")});return c},_intersectsWith:function(a){var b=this.positionAbs.left,c=b+this.helperProportions.width,e=this.positionAbs.top,f=e+this.helperProportions.height,g=a.left,h=g+a.width,i=a.top,k=i+a.height,j=this.offset.click.top,l=this.offset.click.left;j=e+j>i&&e+jg&&b+la[this.floating?"width":"height"]?j:g0?"down":"up")},_getDragHorizontalDirection:function(){var a=this.positionAbs.left-this.lastPositionAbs.left;return a!=0&&(a>0?"right":"left")},refresh:function(a){this._refreshItems(a);this.refreshPositions();return this},_connectWith:function(){var a=this.options;return a.connectWith.constructor==String?[a.connectWith]:a.connectWith},_getItemsAsjQuery:function(a){var b=[],c=[],e=this._connectWith(); +if(e&&a)for(a=e.length-1;a>=0;a--)for(var f=d(e[a]),g=f.length-1;g>=0;g--){var h=d.data(f[g],"sortable");if(h&&h!=this&&!h.options.disabled)c.push([d.isFunction(h.options.items)?h.options.items.call(h.element):d(h.options.items,h.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"),h])}c.push([d.isFunction(this.options.items)?this.options.items.call(this.element,null,{options:this.options,item:this.currentItem}):d(this.options.items,this.element).not(".ui-sortable-helper").not(".ui-sortable-placeholder"), +this]);for(a=c.length-1;a>=0;a--)c[a][0].each(function(){b.push(this)});return d(b)},_removeCurrentsFromItems:function(){for(var a=this.currentItem.find(":data(sortable-item)"),b=0;b=0;f--)for(var g=d(e[f]),h=g.length-1;h>=0;h--){var i=d.data(g[h],"sortable");if(i&&i!=this&&!i.options.disabled){c.push([d.isFunction(i.options.items)?i.options.items.call(i.element[0],a,{item:this.currentItem}):d(i.options.items,i.element),i]);this.containers.push(i)}}for(f=c.length-1;f>=0;f--){a=c[f][1];e=c[f][0];h=0;for(g=e.length;h=0;b--){var c=this.items[b],e=this.options.toleranceElement?d(this.options.toleranceElement,c.item):c.item;if(!a){c.width=e.outerWidth();c.height=e.outerHeight()}e=e.offset();c.left=e.left;c.top=e.top}if(this.options.custom&&this.options.custom.refreshContainers)this.options.custom.refreshContainers.call(this);else for(b=this.containers.length-1;b>=0;b--){e=this.containers[b].element.offset();this.containers[b].containerCache.left= +e.left;this.containers[b].containerCache.top=e.top;this.containers[b].containerCache.width=this.containers[b].element.outerWidth();this.containers[b].containerCache.height=this.containers[b].element.outerHeight()}return this},_createPlaceholder:function(a){var b=a||this,c=b.options;if(!c.placeholder||c.placeholder.constructor==String){var e=c.placeholder;c.placeholder={element:function(){var f=d(document.createElement(b.currentItem[0].nodeName)).addClass(e||b.currentItem[0].className+" ui-sortable-placeholder").removeClass("ui-sortable-helper")[0]; +if(!e)f.style.visibility="hidden";return f},update:function(f,g){if(!(e&&!c.forcePlaceholderSize)){g.height()||g.height(b.currentItem.innerHeight()-parseInt(b.currentItem.css("paddingTop")||0,10)-parseInt(b.currentItem.css("paddingBottom")||0,10));g.width()||g.width(b.currentItem.innerWidth()-parseInt(b.currentItem.css("paddingLeft")||0,10)-parseInt(b.currentItem.css("paddingRight")||0,10))}}}}b.placeholder=d(c.placeholder.element.call(b.element,b.currentItem));b.currentItem.after(b.placeholder); +c.placeholder.update(b,b.placeholder)},_contactContainers:function(a){for(var b=null,c=null,e=this.containers.length-1;e>=0;e--)if(!d.ui.contains(this.currentItem[0],this.containers[e].element[0]))if(this._intersectsWith(this.containers[e].containerCache)){if(!(b&&d.ui.contains(this.containers[e].element[0],b.element[0]))){b=this.containers[e];c=e}}else if(this.containers[e].containerCache.over){this.containers[e]._trigger("out",a,this._uiHash(this));this.containers[e].containerCache.over=0}if(b)if(this.containers.length=== +1){this.containers[c]._trigger("over",a,this._uiHash(this));this.containers[c].containerCache.over=1}else if(this.currentContainer!=this.containers[c]){b=1E4;e=null;for(var f=this.positionAbs[this.containers[c].floating?"left":"top"],g=this.items.length-1;g>=0;g--)if(d.ui.contains(this.containers[c].element[0],this.items[g].item[0])){var h=this.items[g][this.containers[c].floating?"left":"top"];if(Math.abs(h-f)this.containment[2])f=this.containment[2]+this.offset.click.left;if(a.pageY-this.offset.click.top>this.containment[3])g=this.containment[3]+this.offset.click.top}if(b.grid){g=this.originalPageY+Math.round((g-this.originalPageY)/b.grid[1])*b.grid[1];g=this.containment?!(g-this.offset.click.top< +this.containment[1]||g-this.offset.click.top>this.containment[3])?g:!(g-this.offset.click.topthis.containment[2])?f:!(f-this.offset.click.left=0;e--)if(d.ui.contains(this.containers[e].element[0], +this.currentItem[0])&&!b){c.push(function(f){return function(g){f._trigger("receive",g,this._uiHash(this))}}.call(this,this.containers[e]));c.push(function(f){return function(g){f._trigger("update",g,this._uiHash(this))}}.call(this,this.containers[e]))}}for(e=this.containers.length-1;e>=0;e--){b||c.push(function(f){return function(g){f._trigger("deactivate",g,this._uiHash(this))}}.call(this,this.containers[e]));if(this.containers[e].containerCache.over){c.push(function(f){return function(g){f._trigger("out", +g,this._uiHash(this))}}.call(this,this.containers[e]));this.containers[e].containerCache.over=0}}this._storedCursor&&d("body").css("cursor",this._storedCursor);this._storedOpacity&&this.helper.css("opacity",this._storedOpacity);if(this._storedZIndex)this.helper.css("zIndex",this._storedZIndex=="auto"?"":this._storedZIndex);this.dragging=false;if(this.cancelHelperRemoval){if(!b){this._trigger("beforeStop",a,this._uiHash());for(e=0;e li > :first-child,> :not(li):even",icons:{header:"ui-icon-triangle-1-e",headerSelected:"ui-icon-triangle-1-s"},navigation:false,navigationFilter:function(){return this.href.toLowerCase()===location.href.toLowerCase()}},_create:function(){var a=this,b=a.options;a.running=0;a.element.addClass("ui-accordion ui-widget ui-helper-reset").children("li").addClass("ui-accordion-li-fix"); +a.headers=a.element.find(b.header).addClass("ui-accordion-header ui-helper-reset ui-state-default ui-corner-all").bind("mouseenter.accordion",function(){b.disabled||c(this).addClass("ui-state-hover")}).bind("mouseleave.accordion",function(){b.disabled||c(this).removeClass("ui-state-hover")}).bind("focus.accordion",function(){b.disabled||c(this).addClass("ui-state-focus")}).bind("blur.accordion",function(){b.disabled||c(this).removeClass("ui-state-focus")});a.headers.next().addClass("ui-accordion-content ui-helper-reset ui-widget-content ui-corner-bottom"); +if(b.navigation){var d=a.element.find("a").filter(b.navigationFilter).eq(0);if(d.length){var h=d.closest(".ui-accordion-header");a.active=h.length?h:d.closest(".ui-accordion-content").prev()}}a.active=a._findActive(a.active||b.active).addClass("ui-state-default ui-state-active").toggleClass("ui-corner-all").toggleClass("ui-corner-top");a.active.next().addClass("ui-accordion-content-active");a._createIcons();a.resize();a.element.attr("role","tablist");a.headers.attr("role","tab").bind("keydown.accordion", +function(f){return a._keydown(f)}).next().attr("role","tabpanel");a.headers.not(a.active||"").attr({"aria-expanded":"false","aria-selected":"false",tabIndex:-1}).next().hide();a.active.length?a.active.attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}):a.headers.eq(0).attr("tabIndex",0);c.browser.safari||a.headers.find("a").attr("tabIndex",-1);b.event&&a.headers.bind(b.event.split(" ").join(".accordion ")+".accordion",function(f){a._clickHandler.call(a,f,this);f.preventDefault()})},_createIcons:function(){var a= +this.options;if(a.icons){c("").addClass("ui-icon "+a.icons.header).prependTo(this.headers);this.active.children(".ui-icon").toggleClass(a.icons.header).toggleClass(a.icons.headerSelected);this.element.addClass("ui-accordion-icons")}},_destroyIcons:function(){this.headers.children(".ui-icon").remove();this.element.removeClass("ui-accordion-icons")},destroy:function(){var a=this.options;this.element.removeClass("ui-accordion ui-widget ui-helper-reset").removeAttr("role");this.headers.unbind(".accordion").removeClass("ui-accordion-header ui-accordion-disabled ui-helper-reset ui-state-default ui-corner-all ui-state-active ui-state-disabled ui-corner-top").removeAttr("role").removeAttr("aria-expanded").removeAttr("aria-selected").removeAttr("tabIndex"); +this.headers.find("a").removeAttr("tabIndex");this._destroyIcons();var b=this.headers.next().css("display","").removeAttr("role").removeClass("ui-helper-reset ui-widget-content ui-corner-bottom ui-accordion-content ui-accordion-content-active ui-accordion-disabled ui-state-disabled");if(a.autoHeight||a.fillHeight)b.css("height","");return c.Widget.prototype.destroy.call(this)},_setOption:function(a,b){c.Widget.prototype._setOption.apply(this,arguments);a=="active"&&this.activate(b);if(a=="icons"){this._destroyIcons(); +b&&this._createIcons()}if(a=="disabled")this.headers.add(this.headers.next())[b?"addClass":"removeClass"]("ui-accordion-disabled ui-state-disabled")},_keydown:function(a){if(!(this.options.disabled||a.altKey||a.ctrlKey)){var b=c.ui.keyCode,d=this.headers.length,h=this.headers.index(a.target),f=false;switch(a.keyCode){case b.RIGHT:case b.DOWN:f=this.headers[(h+1)%d];break;case b.LEFT:case b.UP:f=this.headers[(h-1+d)%d];break;case b.SPACE:case b.ENTER:this._clickHandler({target:a.target},a.target); +a.preventDefault()}if(f){c(a.target).attr("tabIndex",-1);c(f).attr("tabIndex",0);f.focus();return false}return true}},resize:function(){var a=this.options,b;if(a.fillSpace){if(c.browser.msie){var d=this.element.parent().css("overflow");this.element.parent().css("overflow","hidden")}b=this.element.parent().height();c.browser.msie&&this.element.parent().css("overflow",d);this.headers.each(function(){b-=c(this).outerHeight(true)});this.headers.next().each(function(){c(this).height(Math.max(0,b-c(this).innerHeight()+ +c(this).height()))}).css("overflow","auto")}else if(a.autoHeight){b=0;this.headers.next().each(function(){b=Math.max(b,c(this).height("").height())}).height(b)}return this},activate:function(a){this.options.active=a;a=this._findActive(a)[0];this._clickHandler({target:a},a);return this},_findActive:function(a){return a?typeof a==="number"?this.headers.filter(":eq("+a+")"):this.headers.not(this.headers.not(a)):a===false?c([]):this.headers.filter(":eq(0)")},_clickHandler:function(a,b){var d=this.options; +if(!d.disabled)if(a.target){a=c(a.currentTarget||b);b=a[0]===this.active[0];d.active=d.collapsible&&b?false:this.headers.index(a);if(!(this.running||!d.collapsible&&b)){var h=this.active;j=a.next();g=this.active.next();e={options:d,newHeader:b&&d.collapsible?c([]):a,oldHeader:this.active,newContent:b&&d.collapsible?c([]):j,oldContent:g};var f=this.headers.index(this.active[0])>this.headers.index(a[0]);this.active=b?c([]):a;this._toggle(j,g,e,b,f);h.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header); +if(!b){a.removeClass("ui-state-default ui-corner-all").addClass("ui-state-active ui-corner-top").children(".ui-icon").removeClass(d.icons.header).addClass(d.icons.headerSelected);a.next().addClass("ui-accordion-content-active")}}}else if(d.collapsible){this.active.removeClass("ui-state-active ui-corner-top").addClass("ui-state-default ui-corner-all").children(".ui-icon").removeClass(d.icons.headerSelected).addClass(d.icons.header);this.active.next().addClass("ui-accordion-content-active");var g=this.active.next(), +e={options:d,newHeader:c([]),oldHeader:d.active,newContent:c([]),oldContent:g},j=this.active=c([]);this._toggle(j,g,e)}},_toggle:function(a,b,d,h,f){var g=this,e=g.options;g.toShow=a;g.toHide=b;g.data=d;var j=function(){if(g)return g._completed.apply(g,arguments)};g._trigger("changestart",null,g.data);g.running=b.size()===0?a.size():b.size();if(e.animated){d={};d=e.collapsible&&h?{toShow:c([]),toHide:b,complete:j,down:f,autoHeight:e.autoHeight||e.fillSpace}:{toShow:a,toHide:b,complete:j,down:f,autoHeight:e.autoHeight|| +e.fillSpace};if(!e.proxied)e.proxied=e.animated;if(!e.proxiedDuration)e.proxiedDuration=e.duration;e.animated=c.isFunction(e.proxied)?e.proxied(d):e.proxied;e.duration=c.isFunction(e.proxiedDuration)?e.proxiedDuration(d):e.proxiedDuration;h=c.ui.accordion.animations;var i=e.duration,k=e.animated;if(k&&!h[k]&&!c.easing[k])k="slide";h[k]||(h[k]=function(l){this.slide(l,{easing:k,duration:i||700})});h[k](d)}else{if(e.collapsible&&h)a.toggle();else{b.hide();a.show()}j(true)}b.prev().attr({"aria-expanded":"false", +"aria-selected":"false",tabIndex:-1}).blur();a.prev().attr({"aria-expanded":"true","aria-selected":"true",tabIndex:0}).focus()},_completed:function(a){this.running=a?0:--this.running;if(!this.running){this.options.clearStyle&&this.toShow.add(this.toHide).css({height:"",overflow:""});this.toHide.removeClass("ui-accordion-content-active");if(this.toHide.length)this.toHide.parent()[0].className=this.toHide.parent()[0].className;this._trigger("change",null,this.data)}}});c.extend(c.ui.accordion,{version:"1.8.11", +animations:{slide:function(a,b){a=c.extend({easing:"swing",duration:300},a,b);if(a.toHide.size())if(a.toShow.size()){var d=a.toShow.css("overflow"),h=0,f={},g={},e;b=a.toShow;e=b[0].style.width;b.width(parseInt(b.parent().width(),10)-parseInt(b.css("paddingLeft"),10)-parseInt(b.css("paddingRight"),10)-(parseInt(b.css("borderLeftWidth"),10)||0)-(parseInt(b.css("borderRightWidth"),10)||0));c.each(["height","paddingTop","paddingBottom"],function(j,i){g[i]="hide";j=(""+c.css(a.toShow[0],i)).match(/^([\d+-.]+)(.*)$/); +f[i]={value:j[1],unit:j[2]||"px"}});a.toShow.css({height:0,overflow:"hidden"}).show();a.toHide.filter(":hidden").each(a.complete).end().filter(":visible").animate(g,{step:function(j,i){if(i.prop=="height")h=i.end-i.start===0?0:(i.now-i.start)/(i.end-i.start);a.toShow[0].style[i.prop]=h*f[i.prop].value+f[i.prop].unit},duration:a.duration,easing:a.easing,complete:function(){a.autoHeight||a.toShow.css("height","");a.toShow.css({width:e,overflow:d});a.complete()}})}else a.toHide.animate({height:"hide", +paddingTop:"hide",paddingBottom:"hide"},a);else a.toShow.animate({height:"show",paddingTop:"show",paddingBottom:"show"},a)},bounceslide:function(a){this.slide(a,{easing:a.down?"easeOutBounce":"swing",duration:a.down?1E3:200})}}})})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Autocomplete 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Autocomplete + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.position.js + */ +(function(d){var e=0;d.widget("ui.autocomplete",{options:{appendTo:"body",autoFocus:false,delay:300,minLength:1,position:{my:"left top",at:"left bottom",collision:"none"},source:null},pending:0,_create:function(){var a=this,b=this.element[0].ownerDocument,g;this.element.addClass("ui-autocomplete-input").attr("autocomplete","off").attr({role:"textbox","aria-autocomplete":"list","aria-haspopup":"true"}).bind("keydown.autocomplete",function(c){if(!(a.options.disabled||a.element.attr("readonly"))){g= +false;var f=d.ui.keyCode;switch(c.keyCode){case f.PAGE_UP:a._move("previousPage",c);break;case f.PAGE_DOWN:a._move("nextPage",c);break;case f.UP:a._move("previous",c);c.preventDefault();break;case f.DOWN:a._move("next",c);c.preventDefault();break;case f.ENTER:case f.NUMPAD_ENTER:if(a.menu.active){g=true;c.preventDefault()}case f.TAB:if(!a.menu.active)return;a.menu.select(c);break;case f.ESCAPE:a.element.val(a.term);a.close(c);break;default:clearTimeout(a.searching);a.searching=setTimeout(function(){if(a.term!= +a.element.val()){a.selectedItem=null;a.search(null,c)}},a.options.delay);break}}}).bind("keypress.autocomplete",function(c){if(g){g=false;c.preventDefault()}}).bind("focus.autocomplete",function(){if(!a.options.disabled){a.selectedItem=null;a.previous=a.element.val()}}).bind("blur.autocomplete",function(c){if(!a.options.disabled){clearTimeout(a.searching);a.closing=setTimeout(function(){a.close(c);a._change(c)},150)}});this._initSource();this.response=function(){return a._response.apply(a,arguments)}; +this.menu=d("
      ").addClass("ui-autocomplete").appendTo(d(this.options.appendTo||"body",b)[0]).mousedown(function(c){var f=a.menu.element[0];d(c.target).closest(".ui-menu-item").length||setTimeout(function(){d(document).one("mousedown",function(h){h.target!==a.element[0]&&h.target!==f&&!d.ui.contains(f,h.target)&&a.close()})},1);setTimeout(function(){clearTimeout(a.closing)},13)}).menu({focus:function(c,f){f=f.item.data("item.autocomplete");false!==a._trigger("focus",c,{item:f})&&/^key/.test(c.originalEvent.type)&& +a.element.val(f.value)},selected:function(c,f){var h=f.item.data("item.autocomplete"),i=a.previous;if(a.element[0]!==b.activeElement){a.element.focus();a.previous=i;setTimeout(function(){a.previous=i;a.selectedItem=h},1)}false!==a._trigger("select",c,{item:h})&&a.element.val(h.value);a.term=a.element.val();a.close(c);a.selectedItem=h},blur:function(){a.menu.element.is(":visible")&&a.element.val()!==a.term&&a.element.val(a.term)}}).zIndex(this.element.zIndex()+1).css({top:0,left:0}).hide().data("menu"); +d.fn.bgiframe&&this.menu.element.bgiframe()},destroy:function(){this.element.removeClass("ui-autocomplete-input").removeAttr("autocomplete").removeAttr("role").removeAttr("aria-autocomplete").removeAttr("aria-haspopup");this.menu.element.remove();d.Widget.prototype.destroy.call(this)},_setOption:function(a,b){d.Widget.prototype._setOption.apply(this,arguments);a==="source"&&this._initSource();if(a==="appendTo")this.menu.element.appendTo(d(b||"body",this.element[0].ownerDocument)[0]);a==="disabled"&& +b&&this.xhr&&this.xhr.abort()},_initSource:function(){var a=this,b,g;if(d.isArray(this.options.source)){b=this.options.source;this.source=function(c,f){f(d.ui.autocomplete.filter(b,c.term))}}else if(typeof this.options.source==="string"){g=this.options.source;this.source=function(c,f){a.xhr&&a.xhr.abort();a.xhr=d.ajax({url:g,data:c,dataType:"json",autocompleteRequest:++e,success:function(h){this.autocompleteRequest===e&&f(h)},error:function(){this.autocompleteRequest===e&&f([])}})}}else this.source= +this.options.source},search:function(a,b){a=a!=null?a:this.element.val();this.term=this.element.val();if(a.length
    • ").data("item.autocomplete",b).append(d("").text(b.label)).appendTo(a)},_move:function(a,b){if(this.menu.element.is(":visible"))if(this.menu.first()&&/^previous/.test(a)||this.menu.last()&&/^next/.test(a)){this.element.val(this.term);this.menu.deactivate()}else this.menu[a](b);else this.search(null,b)},widget:function(){return this.menu.element}});d.extend(d.ui.autocomplete,{escapeRegex:function(a){return a.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, +"\\$&")},filter:function(a,b){var g=new RegExp(d.ui.autocomplete.escapeRegex(b),"i");return d.grep(a,function(c){return g.test(c.label||c.value||c)})}})})(jQuery); +(function(d){d.widget("ui.menu",{_create:function(){var e=this;this.element.addClass("ui-menu ui-widget ui-widget-content ui-corner-all").attr({role:"listbox","aria-activedescendant":"ui-active-menuitem"}).click(function(a){if(d(a.target).closest(".ui-menu-item a").length){a.preventDefault();e.select(a)}});this.refresh()},refresh:function(){var e=this;this.element.children("li:not(.ui-menu-item):has(a)").addClass("ui-menu-item").attr("role","menuitem").children("a").addClass("ui-corner-all").attr("tabindex", +-1).mouseenter(function(a){e.activate(a,d(this).parent())}).mouseleave(function(){e.deactivate()})},activate:function(e,a){this.deactivate();if(this.hasScroll()){var b=a.offset().top-this.element.offset().top,g=this.element.attr("scrollTop"),c=this.element.height();if(b<0)this.element.attr("scrollTop",g+b);else b>=c&&this.element.attr("scrollTop",g+b-c+a.height())}this.active=a.eq(0).children("a").addClass("ui-state-hover").attr("id","ui-active-menuitem").end();this._trigger("focus",e,{item:a})}, +deactivate:function(){if(this.active){this.active.children("a").removeClass("ui-state-hover").removeAttr("id");this._trigger("blur");this.active=null}},next:function(e){this.move("next",".ui-menu-item:first",e)},previous:function(e){this.move("prev",".ui-menu-item:last",e)},first:function(){return this.active&&!this.active.prevAll(".ui-menu-item").length},last:function(){return this.active&&!this.active.nextAll(".ui-menu-item").length},move:function(e,a,b){if(this.active){e=this.active[e+"All"](".ui-menu-item").eq(0); +e.length?this.activate(b,e):this.activate(b,this.element.children(a))}else this.activate(b,this.element.children(a))},nextPage:function(e){if(this.hasScroll())if(!this.active||this.last())this.activate(e,this.element.children(".ui-menu-item:first"));else{var a=this.active.offset().top,b=this.element.height(),g=this.element.children(".ui-menu-item").filter(function(){var c=d(this).offset().top-a-b+d(this).height();return c<10&&c>-10});g.length||(g=this.element.children(".ui-menu-item:last"));this.activate(e, +g)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||this.last()?":first":":last"))},previousPage:function(e){if(this.hasScroll())if(!this.active||this.first())this.activate(e,this.element.children(".ui-menu-item:last"));else{var a=this.active.offset().top,b=this.element.height();result=this.element.children(".ui-menu-item").filter(function(){var g=d(this).offset().top-a+b-d(this).height();return g<10&&g>-10});result.length||(result=this.element.children(".ui-menu-item:first")); +this.activate(e,result)}else this.activate(e,this.element.children(".ui-menu-item").filter(!this.active||this.first()?":last":":first"))},hasScroll:function(){return this.element.height()").addClass("ui-button-text").html(this.options.label).appendTo(b.empty()).text(),d=this.options.icons,f=d.primary&&d.secondary,e=[];if(d.primary||d.secondary){if(this.options.text)e.push("ui-button-text-icon"+(f?"s":d.primary?"-primary":"-secondary"));d.primary&&b.prepend("");d.secondary&&b.append("");if(!this.options.text){e.push(f?"ui-button-icons-only": +"ui-button-icon-only");this.hasTitle||b.attr("title",c)}}else e.push("ui-button-text-only");b.addClass(e.join(" "))}}});a.widget("ui.buttonset",{options:{items:":button, :submit, :reset, :checkbox, :radio, a, :data(button)"},_create:function(){this.element.addClass("ui-buttonset")},_init:function(){this.refresh()},_setOption:function(b,c){b==="disabled"&&this.buttons.button("option",b,c);a.Widget.prototype._setOption.apply(this,arguments)},refresh:function(){this.buttons=this.element.find(this.options.items).filter(":ui-button").button("refresh").end().not(":ui-button").button().end().map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-all ui-corner-left ui-corner-right").filter(":first").addClass("ui-corner-left").end().filter(":last").addClass("ui-corner-right").end().end()}, +destroy:function(){this.element.removeClass("ui-buttonset");this.buttons.map(function(){return a(this).button("widget")[0]}).removeClass("ui-corner-left ui-corner-right").end().button("destroy");a.Widget.prototype.destroy.call(this)}})})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Dialog 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Dialog + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + * jquery.ui.button.js + * jquery.ui.draggable.js + * jquery.ui.mouse.js + * jquery.ui.position.js + * jquery.ui.resizable.js + */ +(function(c,j){var k={buttons:true,height:true,maxHeight:true,maxWidth:true,minHeight:true,minWidth:true,width:true},l={maxHeight:true,maxWidth:true,minHeight:true,minWidth:true};c.widget("ui.dialog",{options:{autoOpen:true,buttons:{},closeOnEscape:true,closeText:"close",dialogClass:"",draggable:true,hide:null,height:"auto",maxHeight:false,maxWidth:false,minHeight:150,minWidth:150,modal:false,position:{my:"center",at:"center",collision:"fit",using:function(a){var b=c(this).css(a).offset().top;b<0&& +c(this).css("top",a.top-b)}},resizable:true,show:null,stack:true,title:"",width:300,zIndex:1E3},_create:function(){this.originalTitle=this.element.attr("title");if(typeof this.originalTitle!=="string")this.originalTitle="";this.options.title=this.options.title||this.originalTitle;var a=this,b=a.options,d=b.title||" ",e=c.ui.dialog.getTitleId(a.element),g=(a.uiDialog=c("
      ")).appendTo(document.body).hide().addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b.dialogClass).css({zIndex:b.zIndex}).attr("tabIndex", +-1).css("outline",0).keydown(function(i){if(b.closeOnEscape&&i.keyCode&&i.keyCode===c.ui.keyCode.ESCAPE){a.close(i);i.preventDefault()}}).attr({role:"dialog","aria-labelledby":e}).mousedown(function(i){a.moveToTop(false,i)});a.element.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(g);var f=(a.uiDialogTitlebar=c("
      ")).addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(g),h=c('').addClass("ui-dialog-titlebar-close ui-corner-all").attr("role", +"button").hover(function(){h.addClass("ui-state-hover")},function(){h.removeClass("ui-state-hover")}).focus(function(){h.addClass("ui-state-focus")}).blur(function(){h.removeClass("ui-state-focus")}).click(function(i){a.close(i);return false}).appendTo(f);(a.uiDialogTitlebarCloseText=c("")).addClass("ui-icon ui-icon-closethick").text(b.closeText).appendTo(h);c("").addClass("ui-dialog-title").attr("id",e).html(d).prependTo(f);if(c.isFunction(b.beforeclose)&&!c.isFunction(b.beforeClose))b.beforeClose= +b.beforeclose;f.find("*").add(f).disableSelection();b.draggable&&c.fn.draggable&&a._makeDraggable();b.resizable&&c.fn.resizable&&a._makeResizable();a._createButtons(b.buttons);a._isOpen=false;c.fn.bgiframe&&g.bgiframe()},_init:function(){this.options.autoOpen&&this.open()},destroy:function(){var a=this;a.overlay&&a.overlay.destroy();a.uiDialog.hide();a.element.unbind(".dialog").removeData("dialog").removeClass("ui-dialog-content ui-widget-content").hide().appendTo("body");a.uiDialog.remove();a.originalTitle&& +a.element.attr("title",a.originalTitle);return a},widget:function(){return this.uiDialog},close:function(a){var b=this,d,e;if(false!==b._trigger("beforeClose",a)){b.overlay&&b.overlay.destroy();b.uiDialog.unbind("keypress.ui-dialog");b._isOpen=false;if(b.options.hide)b.uiDialog.hide(b.options.hide,function(){b._trigger("close",a)});else{b.uiDialog.hide();b._trigger("close",a)}c.ui.dialog.overlay.resize();if(b.options.modal){d=0;c(".ui-dialog").each(function(){if(this!==b.uiDialog[0]){e=c(this).css("z-index"); +isNaN(e)||(d=Math.max(d,e))}});c.ui.dialog.maxZ=d}return b}},isOpen:function(){return this._isOpen},moveToTop:function(a,b){var d=this,e=d.options;if(e.modal&&!a||!e.stack&&!e.modal)return d._trigger("focus",b);if(e.zIndex>c.ui.dialog.maxZ)c.ui.dialog.maxZ=e.zIndex;if(d.overlay){c.ui.dialog.maxZ+=1;d.overlay.$el.css("z-index",c.ui.dialog.overlay.maxZ=c.ui.dialog.maxZ)}a={scrollTop:d.element.attr("scrollTop"),scrollLeft:d.element.attr("scrollLeft")};c.ui.dialog.maxZ+=1;d.uiDialog.css("z-index",c.ui.dialog.maxZ); +d.element.attr(a);d._trigger("focus",b);return d},open:function(){if(!this._isOpen){var a=this,b=a.options,d=a.uiDialog;a.overlay=b.modal?new c.ui.dialog.overlay(a):null;a._size();a._position(b.position);d.show(b.show);a.moveToTop(true);b.modal&&d.bind("keypress.ui-dialog",function(e){if(e.keyCode===c.ui.keyCode.TAB){var g=c(":tabbable",this),f=g.filter(":first");g=g.filter(":last");if(e.target===g[0]&&!e.shiftKey){f.focus(1);return false}else if(e.target===f[0]&&e.shiftKey){g.focus(1);return false}}}); +c(a.element.find(":tabbable").get().concat(d.find(".ui-dialog-buttonpane :tabbable").get().concat(d.get()))).eq(0).focus();a._isOpen=true;a._trigger("open");return a}},_createButtons:function(a){var b=this,d=false,e=c("
      ").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),g=c("
      ").addClass("ui-dialog-buttonset").appendTo(e);b.uiDialog.find(".ui-dialog-buttonpane").remove();typeof a==="object"&&a!==null&&c.each(a,function(){return!(d=true)});if(d){c.each(a,function(f, +h){h=c.isFunction(h)?{click:h,text:f}:h;f=c('').attr(h,true).unbind("click").click(function(){h.click.apply(b.element[0],arguments)}).appendTo(g);c.fn.button&&f.button()});e.appendTo(b.uiDialog)}},_makeDraggable:function(){function a(f){return{position:f.position,offset:f.offset}}var b=this,d=b.options,e=c(document),g;b.uiDialog.draggable({cancel:".ui-dialog-content, .ui-dialog-titlebar-close",handle:".ui-dialog-titlebar",containment:"document",start:function(f,h){g= +d.height==="auto"?"auto":c(this).height();c(this).height(c(this).height()).addClass("ui-dialog-dragging");b._trigger("dragStart",f,a(h))},drag:function(f,h){b._trigger("drag",f,a(h))},stop:function(f,h){d.position=[h.position.left-e.scrollLeft(),h.position.top-e.scrollTop()];c(this).removeClass("ui-dialog-dragging").height(g);b._trigger("dragStop",f,a(h));c.ui.dialog.overlay.resize()}})},_makeResizable:function(a){function b(f){return{originalPosition:f.originalPosition,originalSize:f.originalSize, +position:f.position,size:f.size}}a=a===j?this.options.resizable:a;var d=this,e=d.options,g=d.uiDialog.css("position");a=typeof a==="string"?a:"n,e,s,w,se,sw,ne,nw";d.uiDialog.resizable({cancel:".ui-dialog-content",containment:"document",alsoResize:d.element,maxWidth:e.maxWidth,maxHeight:e.maxHeight,minWidth:e.minWidth,minHeight:d._minHeight(),handles:a,start:function(f,h){c(this).addClass("ui-dialog-resizing");d._trigger("resizeStart",f,b(h))},resize:function(f,h){d._trigger("resize",f,b(h))},stop:function(f, +h){c(this).removeClass("ui-dialog-resizing");e.height=c(this).height();e.width=c(this).width();d._trigger("resizeStop",f,b(h));c.ui.dialog.overlay.resize()}}).css("position",g).find(".ui-resizable-se").addClass("ui-icon ui-icon-grip-diagonal-se")},_minHeight:function(){var a=this.options;return a.height==="auto"?a.minHeight:Math.min(a.minHeight,a.height)},_position:function(a){var b=[],d=[0,0],e;if(a){if(typeof a==="string"||typeof a==="object"&&"0"in a){b=a.split?a.split(" "):[a[0],a[1]];if(b.length=== +1)b[1]=b[0];c.each(["left","top"],function(g,f){if(+b[g]===b[g]){d[g]=b[g];b[g]=f}});a={my:b.join(" "),at:b.join(" "),offset:d.join(" ")}}a=c.extend({},c.ui.dialog.prototype.options.position,a)}else a=c.ui.dialog.prototype.options.position;(e=this.uiDialog.is(":visible"))||this.uiDialog.show();this.uiDialog.css({top:0,left:0}).position(c.extend({of:window},a));e||this.uiDialog.hide()},_setOptions:function(a){var b=this,d={},e=false;c.each(a,function(g,f){b._setOption(g,f);if(g in k)e=true;if(g in +l)d[g]=f});e&&this._size();this.uiDialog.is(":data(resizable)")&&this.uiDialog.resizable("option",d)},_setOption:function(a,b){var d=this,e=d.uiDialog;switch(a){case "beforeclose":a="beforeClose";break;case "buttons":d._createButtons(b);break;case "closeText":d.uiDialogTitlebarCloseText.text(""+b);break;case "dialogClass":e.removeClass(d.options.dialogClass).addClass("ui-dialog ui-widget ui-widget-content ui-corner-all "+b);break;case "disabled":b?e.addClass("ui-dialog-disabled"):e.removeClass("ui-dialog-disabled"); +break;case "draggable":var g=e.is(":data(draggable)");g&&!b&&e.draggable("destroy");!g&&b&&d._makeDraggable();break;case "position":d._position(b);break;case "resizable":(g=e.is(":data(resizable)"))&&!b&&e.resizable("destroy");g&&typeof b==="string"&&e.resizable("option","handles",b);!g&&b!==false&&d._makeResizable(b);break;case "title":c(".ui-dialog-title",d.uiDialogTitlebar).html(""+(b||" "));break}c.Widget.prototype._setOption.apply(d,arguments)},_size:function(){var a=this.options,b,d,e= +this.uiDialog.is(":visible");this.element.show().css({width:"auto",minHeight:0,height:0});if(a.minWidth>a.width)a.width=a.minWidth;b=this.uiDialog.css({height:"auto",width:a.width}).height();d=Math.max(0,a.minHeight-b);if(a.height==="auto")if(c.support.minHeight)this.element.css({minHeight:d,height:"auto"});else{this.uiDialog.show();a=this.element.css("height","auto").height();e||this.uiDialog.hide();this.element.height(Math.max(a,d))}else this.element.height(Math.max(a.height-b,0));this.uiDialog.is(":data(resizable)")&& +this.uiDialog.resizable("option","minHeight",this._minHeight())}});c.extend(c.ui.dialog,{version:"1.8.11",uuid:0,maxZ:0,getTitleId:function(a){a=a.attr("id");if(!a){this.uuid+=1;a=this.uuid}return"ui-dialog-title-"+a},overlay:function(a){this.$el=c.ui.dialog.overlay.create(a)}});c.extend(c.ui.dialog.overlay,{instances:[],oldInstances:[],maxZ:0,events:c.map("focus,mousedown,mouseup,keydown,keypress,click".split(","),function(a){return a+".dialog-overlay"}).join(" "),create:function(a){if(this.instances.length=== +0){setTimeout(function(){c.ui.dialog.overlay.instances.length&&c(document).bind(c.ui.dialog.overlay.events,function(d){if(c(d.target).zIndex()
      ").addClass("ui-widget-overlay")).appendTo(document.body).css({width:this.width(), +height:this.height()});c.fn.bgiframe&&b.bgiframe();this.instances.push(b);return b},destroy:function(a){var b=c.inArray(a,this.instances);b!=-1&&this.oldInstances.push(this.instances.splice(b,1)[0]);this.instances.length===0&&c([document,window]).unbind(".dialog-overlay");a.remove();var d=0;c.each(this.instances,function(){d=Math.max(d,this.css("z-index"))});this.maxZ=d},height:function(){var a,b;if(c.browser.msie&&c.browser.version<7){a=Math.max(document.documentElement.scrollHeight,document.body.scrollHeight); +b=Math.max(document.documentElement.offsetHeight,document.body.offsetHeight);return a
      ");if(!a.values)a.values=[this._valueMin(),this._valueMin()];if(a.values.length&&a.values.length!==2)a.values=[a.values[0],a.values[0]]}else this.range=d("
      ");this.range.appendTo(this.element).addClass("ui-slider-range");if(a.range==="min"||a.range==="max")this.range.addClass("ui-slider-range-"+a.range);this.range.addClass("ui-widget-header")}d(".ui-slider-handle",this.element).length===0&&d("").appendTo(this.element).addClass("ui-slider-handle"); +if(a.values&&a.values.length)for(;d(".ui-slider-handle",this.element).length").appendTo(this.element).addClass("ui-slider-handle");this.handles=d(".ui-slider-handle",this.element).addClass("ui-state-default ui-corner-all");this.handle=this.handles.eq(0);this.handles.add(this.range).filter("a").click(function(c){c.preventDefault()}).hover(function(){a.disabled||d(this).addClass("ui-state-hover")},function(){d(this).removeClass("ui-state-hover")}).focus(function(){if(a.disabled)d(this).blur(); +else{d(".ui-slider .ui-state-focus").removeClass("ui-state-focus");d(this).addClass("ui-state-focus")}}).blur(function(){d(this).removeClass("ui-state-focus")});this.handles.each(function(c){d(this).data("index.ui-slider-handle",c)});this.handles.keydown(function(c){var e=true,f=d(this).data("index.ui-slider-handle"),h,g,i;if(!b.options.disabled){switch(c.keyCode){case d.ui.keyCode.HOME:case d.ui.keyCode.END:case d.ui.keyCode.PAGE_UP:case d.ui.keyCode.PAGE_DOWN:case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:e= +false;if(!b._keySliding){b._keySliding=true;d(this).addClass("ui-state-active");h=b._start(c,f);if(h===false)return}break}i=b.options.step;h=b.options.values&&b.options.values.length?(g=b.values(f)):(g=b.value());switch(c.keyCode){case d.ui.keyCode.HOME:g=b._valueMin();break;case d.ui.keyCode.END:g=b._valueMax();break;case d.ui.keyCode.PAGE_UP:g=b._trimAlignValue(h+(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.PAGE_DOWN:g=b._trimAlignValue(h-(b._valueMax()-b._valueMin())/5);break;case d.ui.keyCode.UP:case d.ui.keyCode.RIGHT:if(h=== +b._valueMax())return;g=b._trimAlignValue(h+i);break;case d.ui.keyCode.DOWN:case d.ui.keyCode.LEFT:if(h===b._valueMin())return;g=b._trimAlignValue(h-i);break}b._slide(c,f,g);return e}}).keyup(function(c){var e=d(this).data("index.ui-slider-handle");if(b._keySliding){b._keySliding=false;b._stop(c,e);b._change(c,e);d(this).removeClass("ui-state-active")}});this._refreshValue();this._animateOff=false},destroy:function(){this.handles.remove();this.range.remove();this.element.removeClass("ui-slider ui-slider-horizontal ui-slider-vertical ui-slider-disabled ui-widget ui-widget-content ui-corner-all").removeData("slider").unbind(".slider"); +this._mouseDestroy();return this},_mouseCapture:function(b){var a=this.options,c,e,f,h,g;if(a.disabled)return false;this.elementSize={width:this.element.outerWidth(),height:this.element.outerHeight()};this.elementOffset=this.element.offset();c=this._normValueFromMouse({x:b.pageX,y:b.pageY});e=this._valueMax()-this._valueMin()+1;h=this;this.handles.each(function(i){var j=Math.abs(c-h.values(i));if(e>j){e=j;f=d(this);g=i}});if(a.range===true&&this.values(1)===a.min){g+=1;f=d(this.handles[g])}if(this._start(b, +g)===false)return false;this._mouseSliding=true;h._handleIndex=g;f.addClass("ui-state-active").focus();a=f.offset();this._clickOffset=!d(b.target).parents().andSelf().is(".ui-slider-handle")?{left:0,top:0}:{left:b.pageX-a.left-f.width()/2,top:b.pageY-a.top-f.height()/2-(parseInt(f.css("borderTopWidth"),10)||0)-(parseInt(f.css("borderBottomWidth"),10)||0)+(parseInt(f.css("marginTop"),10)||0)};this.handles.hasClass("ui-state-hover")||this._slide(b,g,c);return this._animateOff=true},_mouseStart:function(){return true}, +_mouseDrag:function(b){var a=this._normValueFromMouse({x:b.pageX,y:b.pageY});this._slide(b,this._handleIndex,a);return false},_mouseStop:function(b){this.handles.removeClass("ui-state-active");this._mouseSliding=false;this._stop(b,this._handleIndex);this._change(b,this._handleIndex);this._clickOffset=this._handleIndex=null;return this._animateOff=false},_detectOrientation:function(){this.orientation=this.options.orientation==="vertical"?"vertical":"horizontal"},_normValueFromMouse:function(b){var a; +if(this.orientation==="horizontal"){a=this.elementSize.width;b=b.x-this.elementOffset.left-(this._clickOffset?this._clickOffset.left:0)}else{a=this.elementSize.height;b=b.y-this.elementOffset.top-(this._clickOffset?this._clickOffset.top:0)}a=b/a;if(a>1)a=1;if(a<0)a=0;if(this.orientation==="vertical")a=1-a;b=this._valueMax()-this._valueMin();return this._trimAlignValue(this._valueMin()+a*b)},_start:function(b,a){var c={handle:this.handles[a],value:this.value()};if(this.options.values&&this.options.values.length){c.value= +this.values(a);c.values=this.values()}return this._trigger("start",b,c)},_slide:function(b,a,c){var e;if(this.options.values&&this.options.values.length){e=this.values(a?0:1);if(this.options.values.length===2&&this.options.range===true&&(a===0&&c>e||a===1&&c1){this.options.values[b]=this._trimAlignValue(a);this._refreshValue();this._change(null,b)}if(arguments.length)if(d.isArray(arguments[0])){c=this.options.values;e=arguments[0];for(f=0;f=this._valueMax())return this._valueMax();var a=this.options.step>0?this.options.step:1,c=(b-this._valueMin())%a;alignValue=b-c;if(Math.abs(c)*2>=a)alignValue+=c>0?a:-a;return parseFloat(alignValue.toFixed(5))},_valueMin:function(){return this.options.min},_valueMax:function(){return this.options.max}, +_refreshValue:function(){var b=this.options.range,a=this.options,c=this,e=!this._animateOff?a.animate:false,f,h={},g,i,j,l;if(this.options.values&&this.options.values.length)this.handles.each(function(k){f=(c.values(k)-c._valueMin())/(c._valueMax()-c._valueMin())*100;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";d(this).stop(1,1)[e?"animate":"css"](h,a.animate);if(c.options.range===true)if(c.orientation==="horizontal"){if(k===0)c.range.stop(1,1)[e?"animate":"css"]({left:f+"%"},a.animate); +if(k===1)c.range[e?"animate":"css"]({width:f-g+"%"},{queue:false,duration:a.animate})}else{if(k===0)c.range.stop(1,1)[e?"animate":"css"]({bottom:f+"%"},a.animate);if(k===1)c.range[e?"animate":"css"]({height:f-g+"%"},{queue:false,duration:a.animate})}g=f});else{i=this.value();j=this._valueMin();l=this._valueMax();f=l!==j?(i-j)/(l-j)*100:0;h[c.orientation==="horizontal"?"left":"bottom"]=f+"%";this.handle.stop(1,1)[e?"animate":"css"](h,a.animate);if(b==="min"&&this.orientation==="horizontal")this.range.stop(1, +1)[e?"animate":"css"]({width:f+"%"},a.animate);if(b==="max"&&this.orientation==="horizontal")this.range[e?"animate":"css"]({width:100-f+"%"},{queue:false,duration:a.animate});if(b==="min"&&this.orientation==="vertical")this.range.stop(1,1)[e?"animate":"css"]({height:f+"%"},a.animate);if(b==="max"&&this.orientation==="vertical")this.range[e?"animate":"css"]({height:100-f+"%"},{queue:false,duration:a.animate})}}});d.extend(d.ui.slider,{version:"1.8.11"})})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Tabs 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Tabs + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(d,p){function u(){return++v}function w(){return++x}var v=0,x=0;d.widget("ui.tabs",{options:{add:null,ajaxOptions:null,cache:false,cookie:null,collapsible:false,disable:null,disabled:[],enable:null,event:"click",fx:null,idPrefix:"ui-tabs-",load:null,panelTemplate:"
      ",remove:null,select:null,show:null,spinner:"Loading…",tabTemplate:"
    • #{label}
    • "},_create:function(){this._tabify(true)},_setOption:function(b,e){if(b=="selected")this.options.collapsible&& +e==this.options.selected||this.select(e);else{this.options[b]=e;this._tabify()}},_tabId:function(b){return b.title&&b.title.replace(/\s/g,"_").replace(/[^\w\u00c0-\uFFFF-]/g,"")||this.options.idPrefix+u()},_sanitizeSelector:function(b){return b.replace(/:/g,"\\:")},_cookie:function(){var b=this.cookie||(this.cookie=this.options.cookie.name||"ui-tabs-"+w());return d.cookie.apply(null,[b].concat(d.makeArray(arguments)))},_ui:function(b,e){return{tab:b,panel:e,index:this.anchors.index(b)}},_cleanup:function(){this.lis.filter(".ui-state-processing").removeClass("ui-state-processing").find("span:data(label.tabs)").each(function(){var b= +d(this);b.html(b.data("label.tabs")).removeData("label.tabs")})},_tabify:function(b){function e(g,f){g.css("display","");!d.support.opacity&&f.opacity&&g[0].style.removeAttribute("filter")}var a=this,c=this.options,h=/^#.+/;this.list=this.element.find("ol,ul").eq(0);this.lis=d(" > li:has(a[href])",this.list);this.anchors=this.lis.map(function(){return d("a",this)[0]});this.panels=d([]);this.anchors.each(function(g,f){var i=d(f).attr("href"),l=i.split("#")[0],q;if(l&&(l===location.toString().split("#")[0]|| +(q=d("base")[0])&&l===q.href)){i=f.hash;f.href=i}if(h.test(i))a.panels=a.panels.add(a.element.find(a._sanitizeSelector(i)));else if(i&&i!=="#"){d.data(f,"href.tabs",i);d.data(f,"load.tabs",i.replace(/#.*$/,""));i=a._tabId(f);f.href="#"+i;f=a.element.find("#"+i);if(!f.length){f=d(c.panelTemplate).attr("id",i).addClass("ui-tabs-panel ui-widget-content ui-corner-bottom").insertAfter(a.panels[g-1]||a.list);f.data("destroy.tabs",true)}a.panels=a.panels.add(f)}else c.disabled.push(g)});if(b){this.element.addClass("ui-tabs ui-widget ui-widget-content ui-corner-all"); +this.list.addClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.lis.addClass("ui-state-default ui-corner-top");this.panels.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom");if(c.selected===p){location.hash&&this.anchors.each(function(g,f){if(f.hash==location.hash){c.selected=g;return false}});if(typeof c.selected!=="number"&&c.cookie)c.selected=parseInt(a._cookie(),10);if(typeof c.selected!=="number"&&this.lis.filter(".ui-tabs-selected").length)c.selected= +this.lis.index(this.lis.filter(".ui-tabs-selected"));c.selected=c.selected||(this.lis.length?0:-1)}else if(c.selected===null)c.selected=-1;c.selected=c.selected>=0&&this.anchors[c.selected]||c.selected<0?c.selected:0;c.disabled=d.unique(c.disabled.concat(d.map(this.lis.filter(".ui-state-disabled"),function(g){return a.lis.index(g)}))).sort();d.inArray(c.selected,c.disabled)!=-1&&c.disabled.splice(d.inArray(c.selected,c.disabled),1);this.panels.addClass("ui-tabs-hide");this.lis.removeClass("ui-tabs-selected ui-state-active"); +if(c.selected>=0&&this.anchors.length){a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash)).removeClass("ui-tabs-hide");this.lis.eq(c.selected).addClass("ui-tabs-selected ui-state-active");a.element.queue("tabs",function(){a._trigger("show",null,a._ui(a.anchors[c.selected],a.element.find(a._sanitizeSelector(a.anchors[c.selected].hash))[0]))});this.load(c.selected)}d(window).bind("unload",function(){a.lis.add(a.anchors).unbind(".tabs");a.lis=a.anchors=a.panels=null})}else c.selected=this.lis.index(this.lis.filter(".ui-tabs-selected")); +this.element[c.collapsible?"addClass":"removeClass"]("ui-tabs-collapsible");c.cookie&&this._cookie(c.selected,c.cookie);b=0;for(var j;j=this.lis[b];b++)d(j)[d.inArray(b,c.disabled)!=-1&&!d(j).hasClass("ui-tabs-selected")?"addClass":"removeClass"]("ui-state-disabled");c.cache===false&&this.anchors.removeData("cache.tabs");this.lis.add(this.anchors).unbind(".tabs");if(c.event!=="mouseover"){var k=function(g,f){f.is(":not(.ui-state-disabled)")&&f.addClass("ui-state-"+g)},n=function(g,f){f.removeClass("ui-state-"+ +g)};this.lis.bind("mouseover.tabs",function(){k("hover",d(this))});this.lis.bind("mouseout.tabs",function(){n("hover",d(this))});this.anchors.bind("focus.tabs",function(){k("focus",d(this).closest("li"))});this.anchors.bind("blur.tabs",function(){n("focus",d(this).closest("li"))})}var m,o;if(c.fx)if(d.isArray(c.fx)){m=c.fx[0];o=c.fx[1]}else m=o=c.fx;var r=o?function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.hide().removeClass("ui-tabs-hide").animate(o,o.duration||"normal", +function(){e(f,o);a._trigger("show",null,a._ui(g,f[0]))})}:function(g,f){d(g).closest("li").addClass("ui-tabs-selected ui-state-active");f.removeClass("ui-tabs-hide");a._trigger("show",null,a._ui(g,f[0]))},s=m?function(g,f){f.animate(m,m.duration||"normal",function(){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");e(f,m);a.element.dequeue("tabs")})}:function(g,f){a.lis.removeClass("ui-tabs-selected ui-state-active");f.addClass("ui-tabs-hide");a.element.dequeue("tabs")}; +this.anchors.bind(c.event+".tabs",function(){var g=this,f=d(g).closest("li"),i=a.panels.filter(":not(.ui-tabs-hide)"),l=a.element.find(a._sanitizeSelector(g.hash));if(f.hasClass("ui-tabs-selected")&&!c.collapsible||f.hasClass("ui-state-disabled")||f.hasClass("ui-state-processing")||a.panels.filter(":animated").length||a._trigger("select",null,a._ui(this,l[0]))===false){this.blur();return false}c.selected=a.anchors.index(this);a.abort();if(c.collapsible)if(f.hasClass("ui-tabs-selected")){c.selected= +-1;c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){s(g,i)}).dequeue("tabs");this.blur();return false}else if(!i.length){c.cookie&&a._cookie(c.selected,c.cookie);a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this));this.blur();return false}c.cookie&&a._cookie(c.selected,c.cookie);if(l.length){i.length&&a.element.queue("tabs",function(){s(g,i)});a.element.queue("tabs",function(){r(g,l)});a.load(a.anchors.index(this))}else throw"jQuery UI Tabs: Mismatching fragment identifier."; +d.browser.msie&&this.blur()});this.anchors.bind("click.tabs",function(){return false})},_getIndex:function(b){if(typeof b=="string")b=this.anchors.index(this.anchors.filter("[href$="+b+"]"));return b},destroy:function(){var b=this.options;this.abort();this.element.unbind(".tabs").removeClass("ui-tabs ui-widget ui-widget-content ui-corner-all ui-tabs-collapsible").removeData("tabs");this.list.removeClass("ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all");this.anchors.each(function(){var e= +d.data(this,"href.tabs");if(e)this.href=e;var a=d(this).unbind(".tabs");d.each(["href","load","cache"],function(c,h){a.removeData(h+".tabs")})});this.lis.unbind(".tabs").add(this.panels).each(function(){d.data(this,"destroy.tabs")?d(this).remove():d(this).removeClass("ui-state-default ui-corner-top ui-tabs-selected ui-state-active ui-state-hover ui-state-focus ui-state-disabled ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide")});b.cookie&&this._cookie(null,b.cookie);return this},add:function(b, +e,a){if(a===p)a=this.anchors.length;var c=this,h=this.options;e=d(h.tabTemplate.replace(/#\{href\}/g,b).replace(/#\{label\}/g,e));b=!b.indexOf("#")?b.replace("#",""):this._tabId(d("a",e)[0]);e.addClass("ui-state-default ui-corner-top").data("destroy.tabs",true);var j=c.element.find("#"+b);j.length||(j=d(h.panelTemplate).attr("id",b).data("destroy.tabs",true));j.addClass("ui-tabs-panel ui-widget-content ui-corner-bottom ui-tabs-hide");if(a>=this.lis.length){e.appendTo(this.list);j.appendTo(this.list[0].parentNode)}else{e.insertBefore(this.lis[a]); +j.insertBefore(this.panels[a])}h.disabled=d.map(h.disabled,function(k){return k>=a?++k:k});this._tabify();if(this.anchors.length==1){h.selected=0;e.addClass("ui-tabs-selected ui-state-active");j.removeClass("ui-tabs-hide");this.element.queue("tabs",function(){c._trigger("show",null,c._ui(c.anchors[0],c.panels[0]))});this.load(0)}this._trigger("add",null,this._ui(this.anchors[a],this.panels[a]));return this},remove:function(b){b=this._getIndex(b);var e=this.options,a=this.lis.eq(b).remove(),c=this.panels.eq(b).remove(); +if(a.hasClass("ui-tabs-selected")&&this.anchors.length>1)this.select(b+(b+1=b?--h:h});this._tabify();this._trigger("remove",null,this._ui(a.find("a")[0],c[0]));return this},enable:function(b){b=this._getIndex(b);var e=this.options;if(d.inArray(b,e.disabled)!=-1){this.lis.eq(b).removeClass("ui-state-disabled");e.disabled=d.grep(e.disabled,function(a){return a!=b});this._trigger("enable",null, +this._ui(this.anchors[b],this.panels[b]));return this}},disable:function(b){b=this._getIndex(b);var e=this.options;if(b!=e.selected){this.lis.eq(b).addClass("ui-state-disabled");e.disabled.push(b);e.disabled.sort();this._trigger("disable",null,this._ui(this.anchors[b],this.panels[b]))}return this},select:function(b){b=this._getIndex(b);if(b==-1)if(this.options.collapsible&&this.options.selected!=-1)b=this.options.selected;else return this;this.anchors.eq(b).trigger(this.options.event+".tabs");return this}, +load:function(b){b=this._getIndex(b);var e=this,a=this.options,c=this.anchors.eq(b)[0],h=d.data(c,"load.tabs");this.abort();if(!h||this.element.queue("tabs").length!==0&&d.data(c,"cache.tabs"))this.element.dequeue("tabs");else{this.lis.eq(b).addClass("ui-state-processing");if(a.spinner){var j=d("span",c);j.data("label.tabs",j.html()).html(a.spinner)}this.xhr=d.ajax(d.extend({},a.ajaxOptions,{url:h,success:function(k,n){e.element.find(e._sanitizeSelector(c.hash)).html(k);e._cleanup();a.cache&&d.data(c, +"cache.tabs",true);e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.success(k,n)}catch(m){}},error:function(k,n){e._cleanup();e._trigger("load",null,e._ui(e.anchors[b],e.panels[b]));try{a.ajaxOptions.error(k,n,b,c)}catch(m){}}}));e.element.dequeue("tabs");return this}},abort:function(){this.element.queue([]);this.panels.stop(false,true);this.element.queue("tabs",this.element.queue("tabs").splice(-2,2));if(this.xhr){this.xhr.abort();delete this.xhr}this._cleanup();return this}, +url:function(b,e){this.anchors.eq(b).removeData("cache.tabs").data("load.tabs",e);return this},length:function(){return this.anchors.length}});d.extend(d.ui.tabs,{version:"1.8.11"});d.extend(d.ui.tabs.prototype,{rotation:null,rotate:function(b,e){var a=this,c=this.options,h=a._rotate||(a._rotate=function(j){clearTimeout(a.rotation);a.rotation=setTimeout(function(){var k=c.selected;a.select(++k
      ')}function F(a,b){d.extend(a,b);for(var c in b)if(b[c]== +null||b[c]==A)a[c]=b[c];return a}d.extend(d.ui,{datepicker:{version:"1.8.11"}});var y=(new Date).getTime();d.extend(K.prototype,{markerClassName:"hasDatepicker",log:function(){this.debug&&console.log.apply("",arguments)},_widgetDatepicker:function(){return this.dpDiv},setDefaults:function(a){F(this._defaults,a||{});return this},_attachDatepicker:function(a,b){var c=null;for(var e in this._defaults){var f=a.getAttribute("date:"+e);if(f){c=c||{};try{c[e]=eval(f)}catch(h){c[e]=f}}}e=a.nodeName.toLowerCase(); +f=e=="div"||e=="span";if(!a.id){this.uuid+=1;a.id="dp"+this.uuid}var i=this._newInst(d(a),f);i.settings=d.extend({},b||{},c||{});if(e=="input")this._connectDatepicker(a,i);else f&&this._inlineDatepicker(a,i)},_newInst:function(a,b){return{id:a[0].id.replace(/([^A-Za-z0-9_-])/g,"\\\\$1"),input:a,selectedDay:0,selectedMonth:0,selectedYear:0,drawMonth:0,drawYear:0,inline:b,dpDiv:!b?this.dpDiv:d('
      ')}}, +_connectDatepicker:function(a,b){var c=d(a);b.append=d([]);b.trigger=d([]);if(!c.hasClass(this.markerClassName)){this._attachments(c,b);c.addClass(this.markerClassName).keydown(this._doKeyDown).keypress(this._doKeyPress).keyup(this._doKeyUp).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});this._autoSize(b);d.data(a,"datepicker",b)}},_attachments:function(a,b){var c=this._get(b,"appendText"),e=this._get(b,"isRTL");b.append&& +b.append.remove();if(c){b.append=d(''+c+"");a[e?"before":"after"](b.append)}a.unbind("focus",this._showDatepicker);b.trigger&&b.trigger.remove();c=this._get(b,"showOn");if(c=="focus"||c=="both")a.focus(this._showDatepicker);if(c=="button"||c=="both"){c=this._get(b,"buttonText");var f=this._get(b,"buttonImage");b.trigger=d(this._get(b,"buttonImageOnly")?d("").addClass(this._triggerClass).attr({src:f,alt:c,title:c}):d('').addClass(this._triggerClass).html(f== +""?c:d("").attr({src:f,alt:c,title:c})));a[e?"before":"after"](b.trigger);b.trigger.click(function(){d.datepicker._datepickerShowing&&d.datepicker._lastInput==a[0]?d.datepicker._hideDatepicker():d.datepicker._showDatepicker(a[0]);return false})}},_autoSize:function(a){if(this._get(a,"autoSize")&&!a.inline){var b=new Date(2009,11,20),c=this._get(a,"dateFormat");if(c.match(/[DM]/)){var e=function(f){for(var h=0,i=0,g=0;gh){h=f[g].length;i=g}return i};b.setMonth(e(this._get(a, +c.match(/MM/)?"monthNames":"monthNamesShort")));b.setDate(e(this._get(a,c.match(/DD/)?"dayNames":"dayNamesShort"))+20-b.getDay())}a.input.attr("size",this._formatDate(a,b).length)}},_inlineDatepicker:function(a,b){var c=d(a);if(!c.hasClass(this.markerClassName)){c.addClass(this.markerClassName).append(b.dpDiv).bind("setData.datepicker",function(e,f,h){b.settings[f]=h}).bind("getData.datepicker",function(e,f){return this._get(b,f)});d.data(a,"datepicker",b);this._setDate(b,this._getDefaultDate(b), +true);this._updateDatepicker(b);this._updateAlternate(b);b.dpDiv.show()}},_dialogDatepicker:function(a,b,c,e,f){a=this._dialogInst;if(!a){this.uuid+=1;this._dialogInput=d('');this._dialogInput.keydown(this._doKeyDown);d("body").append(this._dialogInput);a=this._dialogInst=this._newInst(this._dialogInput,false);a.settings={};d.data(this._dialogInput[0],"datepicker",a)}F(a.settings,e||{}); +b=b&&b.constructor==Date?this._formatDate(a,b):b;this._dialogInput.val(b);this._pos=f?f.length?f:[f.pageX,f.pageY]:null;if(!this._pos)this._pos=[document.documentElement.clientWidth/2-100+(document.documentElement.scrollLeft||document.body.scrollLeft),document.documentElement.clientHeight/2-150+(document.documentElement.scrollTop||document.body.scrollTop)];this._dialogInput.css("left",this._pos[0]+20+"px").css("top",this._pos[1]+"px");a.settings.onSelect=c;this._inDialog=true;this.dpDiv.addClass(this._dialogClass); +this._showDatepicker(this._dialogInput[0]);d.blockUI&&d.blockUI(this.dpDiv);d.data(this._dialogInput[0],"datepicker",a);return this},_destroyDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();d.removeData(a,"datepicker");if(e=="input"){c.append.remove();c.trigger.remove();b.removeClass(this.markerClassName).unbind("focus",this._showDatepicker).unbind("keydown",this._doKeyDown).unbind("keypress",this._doKeyPress).unbind("keyup", +this._doKeyUp)}else if(e=="div"||e=="span")b.removeClass(this.markerClassName).empty()}},_enableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=false;c.trigger.filter("button").each(function(){this.disabled=false}).end().filter("img").css({opacity:"1.0",cursor:""})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().removeClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs, +function(f){return f==a?null:f})}},_disableDatepicker:function(a){var b=d(a),c=d.data(a,"datepicker");if(b.hasClass(this.markerClassName)){var e=a.nodeName.toLowerCase();if(e=="input"){a.disabled=true;c.trigger.filter("button").each(function(){this.disabled=true}).end().filter("img").css({opacity:"0.5",cursor:"default"})}else if(e=="div"||e=="span")b.children("."+this._inlineClass).children().addClass("ui-state-disabled");this._disabledInputs=d.map(this._disabledInputs,function(f){return f==a?null: +f});this._disabledInputs[this._disabledInputs.length]=a}},_isDisabledDatepicker:function(a){if(!a)return false;for(var b=0;b-1}},_doKeyUp:function(a){a=d.datepicker._getInst(a.target); +if(a.input.val()!=a.lastVal)try{if(d.datepicker.parseDate(d.datepicker._get(a,"dateFormat"),a.input?a.input.val():null,d.datepicker._getFormatConfig(a))){d.datepicker._setDateFromField(a);d.datepicker._updateAlternate(a);d.datepicker._updateDatepicker(a)}}catch(b){d.datepicker.log(b)}return true},_showDatepicker:function(a){a=a.target||a;if(a.nodeName.toLowerCase()!="input")a=d("input",a.parentNode)[0];if(!(d.datepicker._isDisabledDatepicker(a)||d.datepicker._lastInput==a)){var b=d.datepicker._getInst(a); +d.datepicker._curInst&&d.datepicker._curInst!=b&&d.datepicker._curInst.dpDiv.stop(true,true);var c=d.datepicker._get(b,"beforeShow");F(b.settings,c?c.apply(a,[a,b]):{});b.lastVal=null;d.datepicker._lastInput=a;d.datepicker._setDateFromField(b);if(d.datepicker._inDialog)a.value="";if(!d.datepicker._pos){d.datepicker._pos=d.datepicker._findPos(a);d.datepicker._pos[1]+=a.offsetHeight}var e=false;d(a).parents().each(function(){e|=d(this).css("position")=="fixed";return!e});if(e&&d.browser.opera){d.datepicker._pos[0]-= +document.documentElement.scrollLeft;d.datepicker._pos[1]-=document.documentElement.scrollTop}c={left:d.datepicker._pos[0],top:d.datepicker._pos[1]};d.datepicker._pos=null;b.dpDiv.empty();b.dpDiv.css({position:"absolute",display:"block",top:"-1000px"});d.datepicker._updateDatepicker(b);c=d.datepicker._checkOffset(b,c,e);b.dpDiv.css({position:d.datepicker._inDialog&&d.blockUI?"static":e?"fixed":"absolute",display:"none",left:c.left+"px",top:c.top+"px"});if(!b.inline){c=d.datepicker._get(b,"showAnim"); +var f=d.datepicker._get(b,"duration"),h=function(){d.datepicker._datepickerShowing=true;var i=b.dpDiv.find("iframe.ui-datepicker-cover");if(i.length){var g=d.datepicker._getBorders(b.dpDiv);i.css({left:-g[0],top:-g[1],width:b.dpDiv.outerWidth(),height:b.dpDiv.outerHeight()})}};b.dpDiv.zIndex(d(a).zIndex()+1);d.effects&&d.effects[c]?b.dpDiv.show(c,d.datepicker._get(b,"showOptions"),f,h):b.dpDiv[c||"show"](c?f:null,h);if(!c||!f)h();b.input.is(":visible")&&!b.input.is(":disabled")&&b.input.focus();d.datepicker._curInst= +b}}},_updateDatepicker:function(a){var b=this,c=d.datepicker._getBorders(a.dpDiv);a.dpDiv.empty().append(this._generateHTML(a));var e=a.dpDiv.find("iframe.ui-datepicker-cover");e.length&&e.css({left:-c[0],top:-c[1],width:a.dpDiv.outerWidth(),height:a.dpDiv.outerHeight()});a.dpDiv.find("button, .ui-datepicker-prev, .ui-datepicker-next, .ui-datepicker-calendar td a").bind("mouseout",function(){d(this).removeClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).removeClass("ui-datepicker-prev-hover"); +this.className.indexOf("ui-datepicker-next")!=-1&&d(this).removeClass("ui-datepicker-next-hover")}).bind("mouseover",function(){if(!b._isDisabledDatepicker(a.inline?a.dpDiv.parent()[0]:a.input[0])){d(this).parents(".ui-datepicker-calendar").find("a").removeClass("ui-state-hover");d(this).addClass("ui-state-hover");this.className.indexOf("ui-datepicker-prev")!=-1&&d(this).addClass("ui-datepicker-prev-hover");this.className.indexOf("ui-datepicker-next")!=-1&&d(this).addClass("ui-datepicker-next-hover")}}).end().find("."+ +this._dayOverClass+" a").trigger("mouseover").end();c=this._getNumberOfMonths(a);e=c[1];e>1?a.dpDiv.addClass("ui-datepicker-multi-"+e).css("width",17*e+"em"):a.dpDiv.removeClass("ui-datepicker-multi-2 ui-datepicker-multi-3 ui-datepicker-multi-4").width("");a.dpDiv[(c[0]!=1||c[1]!=1?"add":"remove")+"Class"]("ui-datepicker-multi");a.dpDiv[(this._get(a,"isRTL")?"add":"remove")+"Class"]("ui-datepicker-rtl");a==d.datepicker._curInst&&d.datepicker._datepickerShowing&&a.input&&a.input.is(":visible")&&!a.input.is(":disabled")&& +a.input[0]!=document.activeElement&&a.input.focus();if(a.yearshtml){var f=a.yearshtml;setTimeout(function(){f===a.yearshtml&&a.dpDiv.find("select.ui-datepicker-year:first").replaceWith(a.yearshtml);f=a.yearshtml=null},0)}},_getBorders:function(a){var b=function(c){return{thin:1,medium:2,thick:3}[c]||c};return[parseFloat(b(a.css("border-left-width"))),parseFloat(b(a.css("border-top-width")))]},_checkOffset:function(a,b,c){var e=a.dpDiv.outerWidth(),f=a.dpDiv.outerHeight(),h=a.input?a.input.outerWidth(): +0,i=a.input?a.input.outerHeight():0,g=document.documentElement.clientWidth+d(document).scrollLeft(),j=document.documentElement.clientHeight+d(document).scrollTop();b.left-=this._get(a,"isRTL")?e-h:0;b.left-=c&&b.left==a.input.offset().left?d(document).scrollLeft():0;b.top-=c&&b.top==a.input.offset().top+i?d(document).scrollTop():0;b.left-=Math.min(b.left,b.left+e>g&&g>e?Math.abs(b.left+e-g):0);b.top-=Math.min(b.top,b.top+f>j&&j>f?Math.abs(f+i):0);return b},_findPos:function(a){for(var b=this._get(this._getInst(a), +"isRTL");a&&(a.type=="hidden"||a.nodeType!=1||d.expr.filters.hidden(a));)a=a[b?"previousSibling":"nextSibling"];a=d(a).offset();return[a.left,a.top]},_hideDatepicker:function(a){var b=this._curInst;if(!(!b||a&&b!=d.data(a,"datepicker")))if(this._datepickerShowing){a=this._get(b,"showAnim");var c=this._get(b,"duration"),e=function(){d.datepicker._tidyDialog(b);this._curInst=null};d.effects&&d.effects[a]?b.dpDiv.hide(a,d.datepicker._get(b,"showOptions"),c,e):b.dpDiv[a=="slideDown"?"slideUp":a=="fadeIn"? +"fadeOut":"hide"](a?c:null,e);a||e();if(a=this._get(b,"onClose"))a.apply(b.input?b.input[0]:null,[b.input?b.input.val():"",b]);this._datepickerShowing=false;this._lastInput=null;if(this._inDialog){this._dialogInput.css({position:"absolute",left:"0",top:"-100px"});if(d.blockUI){d.unblockUI();d("body").append(this.dpDiv)}}this._inDialog=false}},_tidyDialog:function(a){a.dpDiv.removeClass(this._dialogClass).unbind(".ui-datepicker-calendar")},_checkExternalClick:function(a){if(d.datepicker._curInst){a= +d(a.target);a[0].id!=d.datepicker._mainDivId&&a.parents("#"+d.datepicker._mainDivId).length==0&&!a.hasClass(d.datepicker.markerClassName)&&!a.hasClass(d.datepicker._triggerClass)&&d.datepicker._datepickerShowing&&!(d.datepicker._inDialog&&d.blockUI)&&d.datepicker._hideDatepicker()}},_adjustDate:function(a,b,c){a=d(a);var e=this._getInst(a[0]);if(!this._isDisabledDatepicker(a[0])){this._adjustInstDate(e,b+(c=="M"?this._get(e,"showCurrentAtPos"):0),c);this._updateDatepicker(e)}},_gotoToday:function(a){a= +d(a);var b=this._getInst(a[0]);if(this._get(b,"gotoCurrent")&&b.currentDay){b.selectedDay=b.currentDay;b.drawMonth=b.selectedMonth=b.currentMonth;b.drawYear=b.selectedYear=b.currentYear}else{var c=new Date;b.selectedDay=c.getDate();b.drawMonth=b.selectedMonth=c.getMonth();b.drawYear=b.selectedYear=c.getFullYear()}this._notifyChange(b);this._adjustDate(a)},_selectMonthYear:function(a,b,c){a=d(a);var e=this._getInst(a[0]);e._selectingMonthYear=false;e["selected"+(c=="M"?"Month":"Year")]=e["draw"+(c== +"M"?"Month":"Year")]=parseInt(b.options[b.selectedIndex].value,10);this._notifyChange(e);this._adjustDate(a)},_clickMonthYear:function(a){var b=this._getInst(d(a)[0]);b.input&&b._selectingMonthYear&&setTimeout(function(){b.input.focus()},0);b._selectingMonthYear=!b._selectingMonthYear},_selectDay:function(a,b,c,e){var f=d(a);if(!(d(e).hasClass(this._unselectableClass)||this._isDisabledDatepicker(f[0]))){f=this._getInst(f[0]);f.selectedDay=f.currentDay=d("a",e).html();f.selectedMonth=f.currentMonth= +b;f.selectedYear=f.currentYear=c;this._selectDate(a,this._formatDate(f,f.currentDay,f.currentMonth,f.currentYear))}},_clearDate:function(a){a=d(a);this._getInst(a[0]);this._selectDate(a,"")},_selectDate:function(a,b){a=this._getInst(d(a)[0]);b=b!=null?b:this._formatDate(a);a.input&&a.input.val(b);this._updateAlternate(a);var c=this._get(a,"onSelect");if(c)c.apply(a.input?a.input[0]:null,[b,a]);else a.input&&a.input.trigger("change");if(a.inline)this._updateDatepicker(a);else{this._hideDatepicker(); +this._lastInput=a.input[0];typeof a.input[0]!="object"&&a.input.focus();this._lastInput=null}},_updateAlternate:function(a){var b=this._get(a,"altField");if(b){var c=this._get(a,"altFormat")||this._get(a,"dateFormat"),e=this._getDate(a),f=this.formatDate(c,e,this._getFormatConfig(a));d(b).each(function(){d(this).val(f)})}},noWeekends:function(a){a=a.getDay();return[a>0&&a<6,""]},iso8601Week:function(a){a=new Date(a.getTime());a.setDate(a.getDate()+4-(a.getDay()||7));var b=a.getTime();a.setMonth(0); +a.setDate(1);return Math.floor(Math.round((b-a)/864E5)/7)+1},parseDate:function(a,b,c){if(a==null||b==null)throw"Invalid arguments";b=typeof b=="object"?b.toString():b+"";if(b=="")return null;var e=(c?c.shortYearCutoff:null)||this._defaults.shortYearCutoff;e=typeof e!="string"?e:(new Date).getFullYear()%100+parseInt(e,10);for(var f=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,h=(c?c.dayNames:null)||this._defaults.dayNames,i=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort,g=(c? +c.monthNames:null)||this._defaults.monthNames,j=c=-1,l=-1,u=-1,k=false,o=function(p){(p=z+1-1){j=1;l=u;do{e=this._getDaysInMonth(c,j-1);if(l<=e)break;j++;l-=e}while(1)}w=this._daylightSavingAdjust(new Date(c,j-1,l));if(w.getFullYear()!=c||w.getMonth()+1!=j||w.getDate()!=l)throw"Invalid date";return w},ATOM:"yy-mm-dd",COOKIE:"D, dd M yy",ISO_8601:"yy-mm-dd",RFC_822:"D, d M y",RFC_850:"DD, dd-M-y", +RFC_1036:"D, d M y",RFC_1123:"D, d M yy",RFC_2822:"D, d M yy",RSS:"D, d M y",TICKS:"!",TIMESTAMP:"@",W3C:"yy-mm-dd",_ticksTo1970:(718685+Math.floor(492.5)-Math.floor(19.7)+Math.floor(4.925))*24*60*60*1E7,formatDate:function(a,b,c){if(!b)return"";var e=(c?c.dayNamesShort:null)||this._defaults.dayNamesShort,f=(c?c.dayNames:null)||this._defaults.dayNames,h=(c?c.monthNamesShort:null)||this._defaults.monthNamesShort;c=(c?c.monthNames:null)||this._defaults.monthNames;var i=function(o){(o=k+112?a.getHours()+2:0);return a},_setDate:function(a,b,c){var e=!b,f=a.selectedMonth,h=a.selectedYear;b=this._restrictMinMax(a,this._determineDate(a,b,new Date));a.selectedDay= +a.currentDay=b.getDate();a.drawMonth=a.selectedMonth=a.currentMonth=b.getMonth();a.drawYear=a.selectedYear=a.currentYear=b.getFullYear();if((f!=a.selectedMonth||h!=a.selectedYear)&&!c)this._notifyChange(a);this._adjustInstDate(a);if(a.input)a.input.val(e?"":this._formatDate(a))},_getDate:function(a){return!a.currentYear||a.input&&a.input.val()==""?null:this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay))},_generateHTML:function(a){var b=new Date;b=this._daylightSavingAdjust(new Date(b.getFullYear(), +b.getMonth(),b.getDate()));var c=this._get(a,"isRTL"),e=this._get(a,"showButtonPanel"),f=this._get(a,"hideIfNoPrevNext"),h=this._get(a,"navigationAsDateFormat"),i=this._getNumberOfMonths(a),g=this._get(a,"showCurrentAtPos"),j=this._get(a,"stepMonths"),l=i[0]!=1||i[1]!=1,u=this._daylightSavingAdjust(!a.currentDay?new Date(9999,9,9):new Date(a.currentYear,a.currentMonth,a.currentDay)),k=this._getMinMaxDate(a,"min"),o=this._getMinMaxDate(a,"max");g=a.drawMonth-g;var m=a.drawYear;if(g<0){g+=12;m--}if(o){var n= +this._daylightSavingAdjust(new Date(o.getFullYear(),o.getMonth()-i[0]*i[1]+1,o.getDate()));for(n=k&&nn;){g--;if(g<0){g=11;m--}}}a.drawMonth=g;a.drawYear=m;n=this._get(a,"prevText");n=!h?n:this.formatDate(n,this._daylightSavingAdjust(new Date(m,g-j,1)),this._getFormatConfig(a));n=this._canAdjustMonth(a,-1,m,g)?''+n+"":f?"":''+n+"";var r=this._get(a,"nextText");r=!h?r:this.formatDate(r,this._daylightSavingAdjust(new Date(m,g+j,1)),this._getFormatConfig(a));f=this._canAdjustMonth(a,+1,m,g)?''+r+"":f?"":''+r+"";j=this._get(a,"currentText");r=this._get(a,"gotoCurrent")&&a.currentDay?u:b;j=!h?j:this.formatDate(j,r,this._getFormatConfig(a));h=!a.inline?'":"";e=e?'
      '+(c?h:"")+(this._isInRange(a,r)?'":"")+(c?"":h)+"
      ":"";h=parseInt(this._get(a,"firstDay"),10);h=isNaN(h)?0:h;j=this._get(a,"showWeek");r=this._get(a,"dayNames");this._get(a,"dayNamesShort");var s=this._get(a,"dayNamesMin"),z= +this._get(a,"monthNames"),w=this._get(a,"monthNamesShort"),p=this._get(a,"beforeShowDay"),v=this._get(a,"showOtherMonths"),H=this._get(a,"selectOtherMonths");this._get(a,"calculateWeek");for(var L=this._getDefaultDate(a),I="",D=0;D1)switch(E){case 0:x+=" ui-datepicker-group-first";t=" ui-corner-"+(c?"right":"left");break;case i[1]- +1:x+=" ui-datepicker-group-last";t=" ui-corner-"+(c?"left":"right");break;default:x+=" ui-datepicker-group-middle";t="";break}x+='">'}x+='
      '+(/all|left/.test(t)&&D==0?c?f:n:"")+(/all|right/.test(t)&&D==0?c?n:f:"")+this._generateMonthYearHeader(a,g,m,k,o,D>0||E>0,z,w)+'
      ';var B=j?'":"";for(t=0;t<7;t++){var q= +(t+h)%7;B+="=5?' class="ui-datepicker-week-end"':"")+'>'+s[q]+""}x+=B+"";B=this._getDaysInMonth(m,g);if(m==a.selectedYear&&g==a.selectedMonth)a.selectedDay=Math.min(a.selectedDay,B);t=(this._getFirstDayOfMonth(m,g)-h+7)%7;B=l?6:Math.ceil((t+B)/7);q=this._daylightSavingAdjust(new Date(m,g,1-t));for(var O=0;O";var P=!j?"":'";for(t=0;t<7;t++){var G= +p?p.apply(a.input?a.input[0]:null,[q]):[true,""],C=q.getMonth()!=g,J=C&&!H||!G[0]||k&&qo;P+='";q.setDate(q.getDate()+1);q=this._daylightSavingAdjust(q)}x+= +P+""}g++;if(g>11){g=0;m++}x+="
      '+this._get(a,"weekHeader")+"
      '+this._get(a,"calculateWeek")(q)+""+(C&&!v?" ":J?''+q.getDate()+"":''+q.getDate()+"")+"
      "+(l?""+(i[0]>0&&E==i[1]-1?'
      ':""):"");M+=x}I+=M}I+=e+(d.browser.msie&&parseInt(d.browser.version,10)<7&&!a.inline?'':"");a._keyEvent=false;return I},_generateMonthYearHeader:function(a,b,c,e,f,h,i,g){var j=this._get(a,"changeMonth"),l=this._get(a,"changeYear"),u=this._get(a,"showMonthAfterYear"),k='
      ', +o="";if(h||!j)o+=''+i[b]+"";else{i=e&&e.getFullYear()==c;var m=f&&f.getFullYear()==c;o+='"}u||(k+=o+(h||!(j&& +l)?" ":""));a.yearshtml="";if(h||!l)k+=''+c+"";else{g=this._get(a,"yearRange").split(":");var r=(new Date).getFullYear();i=function(s){s=s.match(/c[+-].*/)?c+parseInt(s.substring(1),10):s.match(/[+-].*/)?r+parseInt(s,10):parseInt(s,10);return isNaN(s)?r:s};b=i(g[0]);g=Math.max(b,i(g[1]||""));b=e?Math.max(b,e.getFullYear()):b;g=f?Math.min(g,f.getFullYear()):g;for(a.yearshtml+='";if(d.browser.mozilla)k+='";else{k+=a.yearshtml;a.yearshtml=null}}k+=this._get(a,"yearSuffix");if(u)k+=(h||!(j&&l)?" ":"")+o;k+="
      ";return k},_adjustInstDate:function(a,b,c){var e= +a.drawYear+(c=="Y"?b:0),f=a.drawMonth+(c=="M"?b:0);b=Math.min(a.selectedDay,this._getDaysInMonth(e,f))+(c=="D"?b:0);e=this._restrictMinMax(a,this._daylightSavingAdjust(new Date(e,f,b)));a.selectedDay=e.getDate();a.drawMonth=a.selectedMonth=e.getMonth();a.drawYear=a.selectedYear=e.getFullYear();if(c=="M"||c=="Y")this._notifyChange(a)},_restrictMinMax:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");b=c&&ba?a:b},_notifyChange:function(a){var b=this._get(a, +"onChangeMonthYear");if(b)b.apply(a.input?a.input[0]:null,[a.selectedYear,a.selectedMonth+1,a])},_getNumberOfMonths:function(a){a=this._get(a,"numberOfMonths");return a==null?[1,1]:typeof a=="number"?[1,a]:a},_getMinMaxDate:function(a,b){return this._determineDate(a,this._get(a,b+"Date"),null)},_getDaysInMonth:function(a,b){return 32-this._daylightSavingAdjust(new Date(a,b,32)).getDate()},_getFirstDayOfMonth:function(a,b){return(new Date(a,b,1)).getDay()},_canAdjustMonth:function(a,b,c,e){var f=this._getNumberOfMonths(a); +c=this._daylightSavingAdjust(new Date(c,e+(b<0?b:f[0]*f[1]),1));b<0&&c.setDate(this._getDaysInMonth(c.getFullYear(),c.getMonth()));return this._isInRange(a,c)},_isInRange:function(a,b){var c=this._getMinMaxDate(a,"min");a=this._getMinMaxDate(a,"max");return(!c||b.getTime()>=c.getTime())&&(!a||b.getTime()<=a.getTime())},_getFormatConfig:function(a){var b=this._get(a,"shortYearCutoff");b=typeof b!="string"?b:(new Date).getFullYear()%100+parseInt(b,10);return{shortYearCutoff:b,dayNamesShort:this._get(a, +"dayNamesShort"),dayNames:this._get(a,"dayNames"),monthNamesShort:this._get(a,"monthNamesShort"),monthNames:this._get(a,"monthNames")}},_formatDate:function(a,b,c,e){if(!b){a.currentDay=a.selectedDay;a.currentMonth=a.selectedMonth;a.currentYear=a.selectedYear}b=b?typeof b=="object"?b:this._daylightSavingAdjust(new Date(e,c,b)):this._daylightSavingAdjust(new Date(a.currentYear,a.currentMonth,a.currentDay));return this.formatDate(this._get(a,"dateFormat"),b,this._getFormatConfig(a))}});d.fn.datepicker= +function(a){if(!this.length)return this;if(!d.datepicker.initialized){d(document).mousedown(d.datepicker._checkExternalClick).find("body").append(d.datepicker.dpDiv);d.datepicker.initialized=true}var b=Array.prototype.slice.call(arguments,1);if(typeof a=="string"&&(a=="isDisabled"||a=="getDate"||a=="widget"))return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this[0]].concat(b));if(a=="option"&&arguments.length==2&&typeof arguments[1]=="string")return d.datepicker["_"+a+"Datepicker"].apply(d.datepicker, +[this[0]].concat(b));return this.each(function(){typeof a=="string"?d.datepicker["_"+a+"Datepicker"].apply(d.datepicker,[this].concat(b)):d.datepicker._attachDatepicker(this,a)})};d.datepicker=new K;d.datepicker.initialized=false;d.datepicker.uuid=(new Date).getTime();d.datepicker.version="1.8.11";window["DP_jQuery_"+y]=d})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Progressbar 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Progressbar + * + * Depends: + * jquery.ui.core.js + * jquery.ui.widget.js + */ +(function(b,d){b.widget("ui.progressbar",{options:{value:0,max:100},min:0,_create:function(){this.element.addClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").attr({role:"progressbar","aria-valuemin":this.min,"aria-valuemax":this.options.max,"aria-valuenow":this._value()});this.valueDiv=b("
      ").appendTo(this.element);this.oldValue=this._value();this._refreshValue()},destroy:function(){this.element.removeClass("ui-progressbar ui-widget ui-widget-content ui-corner-all").removeAttr("role").removeAttr("aria-valuemin").removeAttr("aria-valuemax").removeAttr("aria-valuenow"); +this.valueDiv.remove();b.Widget.prototype.destroy.apply(this,arguments)},value:function(a){if(a===d)return this._value();this._setOption("value",a);return this},_setOption:function(a,c){if(a==="value"){this.options.value=c;this._refreshValue();this._value()===this.options.max&&this._trigger("complete")}b.Widget.prototype._setOption.apply(this,arguments)},_value:function(){var a=this.options.value;if(typeof a!=="number")a=0;return Math.min(this.options.max,Math.max(this.min,a))},_percentage:function(){return 100* +this._value()/this.options.max},_refreshValue:function(){var a=this.value(),c=this._percentage();if(this.oldValue!==a){this.oldValue=a;this._trigger("change")}this.valueDiv.toggleClass("ui-corner-right",a===this.options.max).width(c.toFixed(0)+"%");this.element.attr("aria-valuenow",a)}});b.extend(b.ui.progressbar,{version:"1.8.11"})})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Effects 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Effects/ + */ +jQuery.effects||function(f,j){function n(c){var a;if(c&&c.constructor==Array&&c.length==3)return c;if(a=/rgb\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*\)/.exec(c))return[parseInt(a[1],10),parseInt(a[2],10),parseInt(a[3],10)];if(a=/rgb\(\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*,\s*([0-9]+(?:\.[0-9]+)?)\%\s*\)/.exec(c))return[parseFloat(a[1])*2.55,parseFloat(a[2])*2.55,parseFloat(a[3])*2.55];if(a=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(c))return[parseInt(a[1], +16),parseInt(a[2],16),parseInt(a[3],16)];if(a=/#([a-fA-F0-9])([a-fA-F0-9])([a-fA-F0-9])/.exec(c))return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)];if(/rgba\(0, 0, 0, 0\)/.exec(c))return o.transparent;return o[f.trim(c).toLowerCase()]}function s(c,a){var b;do{b=f.curCSS(c,a);if(b!=""&&b!="transparent"||f.nodeName(c,"body"))break;a="backgroundColor"}while(c=c.parentNode);return n(b)}function p(){var c=document.defaultView?document.defaultView.getComputedStyle(this,null):this.currentStyle, +a={},b,d;if(c&&c.length&&c[0]&&c[c[0]])for(var e=c.length;e--;){b=c[e];if(typeof c[b]=="string"){d=b.replace(/\-(\w)/g,function(g,h){return h.toUpperCase()});a[d]=c[b]}}else for(b in c)if(typeof c[b]==="string")a[b]=c[b];return a}function q(c){var a,b;for(a in c){b=c[a];if(b==null||f.isFunction(b)||a in t||/scrollbar/.test(a)||!/color/i.test(a)&&isNaN(parseFloat(b)))delete c[a]}return c}function u(c,a){var b={_:0},d;for(d in a)if(c[d]!=a[d])b[d]=a[d];return b}function k(c,a,b,d){if(typeof c=="object"){d= +a;b=null;a=c;c=a.effect}if(f.isFunction(a)){d=a;b=null;a={}}if(typeof a=="number"||f.fx.speeds[a]){d=b;b=a;a={}}if(f.isFunction(b)){d=b;b=null}a=a||{};b=b||a.duration;b=f.fx.off?0:typeof b=="number"?b:b in f.fx.speeds?f.fx.speeds[b]:f.fx.speeds._default;d=d||a.complete;return[c,a,b,d]}function m(c){if(!c||typeof c==="number"||f.fx.speeds[c])return true;if(typeof c==="string"&&!f.effects[c])return true;return false}f.effects={};f.each(["backgroundColor","borderBottomColor","borderLeftColor","borderRightColor", +"borderTopColor","borderColor","color","outlineColor"],function(c,a){f.fx.step[a]=function(b){if(!b.colorInit){b.start=s(b.elem,a);b.end=n(b.end);b.colorInit=true}b.elem.style[a]="rgb("+Math.max(Math.min(parseInt(b.pos*(b.end[0]-b.start[0])+b.start[0],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[1]-b.start[1])+b.start[1],10),255),0)+","+Math.max(Math.min(parseInt(b.pos*(b.end[2]-b.start[2])+b.start[2],10),255),0)+")"}});var o={aqua:[0,255,255],azure:[240,255,255],beige:[245,245,220],black:[0, +0,0],blue:[0,0,255],brown:[165,42,42],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgrey:[169,169,169],darkgreen:[0,100,0],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkviolet:[148,0,211],fuchsia:[255,0,255],gold:[255,215,0],green:[0,128,0],indigo:[75,0,130],khaki:[240,230,140],lightblue:[173,216,230],lightcyan:[224,255,255],lightgreen:[144,238,144],lightgrey:[211, +211,211],lightpink:[255,182,193],lightyellow:[255,255,224],lime:[0,255,0],magenta:[255,0,255],maroon:[128,0,0],navy:[0,0,128],olive:[128,128,0],orange:[255,165,0],pink:[255,192,203],purple:[128,0,128],violet:[128,0,128],red:[255,0,0],silver:[192,192,192],white:[255,255,255],yellow:[255,255,0],transparent:[255,255,255]},r=["add","remove","toggle"],t={border:1,borderBottom:1,borderColor:1,borderLeft:1,borderRight:1,borderTop:1,borderWidth:1,margin:1,padding:1};f.effects.animateClass=function(c,a,b, +d){if(f.isFunction(b)){d=b;b=null}return this.queue("fx",function(){var e=f(this),g=e.attr("style")||" ",h=q(p.call(this)),l,v=e.attr("className");f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});l=q(p.call(this));e.attr("className",v);e.animate(u(h,l),a,b,function(){f.each(r,function(w,i){c[i]&&e[i+"Class"](c[i])});if(typeof e.attr("style")=="object"){e.attr("style").cssText="";e.attr("style").cssText=g}else e.attr("style",g);d&&d.apply(this,arguments)});h=f.queue(this);l=h.splice(h.length-1,1)[0]; +h.splice(1,0,l);f.dequeue(this)})};f.fn.extend({_addClass:f.fn.addClass,addClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{add:c},a,b,d]):this._addClass(c)},_removeClass:f.fn.removeClass,removeClass:function(c,a,b,d){return a?f.effects.animateClass.apply(this,[{remove:c},a,b,d]):this._removeClass(c)},_toggleClass:f.fn.toggleClass,toggleClass:function(c,a,b,d,e){return typeof a=="boolean"||a===j?b?f.effects.animateClass.apply(this,[a?{add:c}:{remove:c},b,d,e]):this._toggleClass(c, +a):f.effects.animateClass.apply(this,[{toggle:c},a,b,d])},switchClass:function(c,a,b,d,e){return f.effects.animateClass.apply(this,[{add:a,remove:c},b,d,e])}});f.extend(f.effects,{version:"1.8.11",save:function(c,a){for(var b=0;b").addClass("ui-effects-wrapper").css({fontSize:"100%",background:"transparent", +border:"none",margin:0,padding:0});c.wrap(b);b=c.parent();if(c.css("position")=="static"){b.css({position:"relative"});c.css({position:"relative"})}else{f.extend(a,{position:c.css("position"),zIndex:c.css("z-index")});f.each(["top","left","bottom","right"],function(d,e){a[e]=c.css(e);if(isNaN(parseInt(a[e],10)))a[e]="auto"});c.css({position:"relative",top:0,left:0,right:"auto",bottom:"auto"})}return b.css(a).show()},removeWrapper:function(c){if(c.parent().is(".ui-effects-wrapper"))return c.parent().replaceWith(c); +return c},setTransition:function(c,a,b,d){d=d||{};f.each(a,function(e,g){unit=c.cssUnit(g);if(unit[0]>0)d[g]=unit[0]*b+unit[1]});return d}});f.fn.extend({effect:function(c){var a=k.apply(this,arguments),b={options:a[1],duration:a[2],callback:a[3]};a=b.options.mode;var d=f.effects[c];if(f.fx.off||!d)return a?this[a](b.duration,b.callback):this.each(function(){b.callback&&b.callback.call(this)});return d.call(this,b)},_show:f.fn.show,show:function(c){if(m(c))return this._show.apply(this,arguments); +else{var a=k.apply(this,arguments);a[1].mode="show";return this.effect.apply(this,a)}},_hide:f.fn.hide,hide:function(c){if(m(c))return this._hide.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="hide";return this.effect.apply(this,a)}},__toggle:f.fn.toggle,toggle:function(c){if(m(c)||typeof c==="boolean"||f.isFunction(c))return this.__toggle.apply(this,arguments);else{var a=k.apply(this,arguments);a[1].mode="toggle";return this.effect.apply(this,a)}},cssUnit:function(c){var a=this.css(c), +b=[];f.each(["em","px","%","pt"],function(d,e){if(a.indexOf(e)>0)b=[parseFloat(a),e]});return b}});f.easing.jswing=f.easing.swing;f.extend(f.easing,{def:"easeOutQuad",swing:function(c,a,b,d,e){return f.easing[f.easing.def](c,a,b,d,e)},easeInQuad:function(c,a,b,d,e){return d*(a/=e)*a+b},easeOutQuad:function(c,a,b,d,e){return-d*(a/=e)*(a-2)+b},easeInOutQuad:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a+b;return-d/2*(--a*(a-2)-1)+b},easeInCubic:function(c,a,b,d,e){return d*(a/=e)*a*a+b},easeOutCubic:function(c, +a,b,d,e){return d*((a=a/e-1)*a*a+1)+b},easeInOutCubic:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a+b;return d/2*((a-=2)*a*a+2)+b},easeInQuart:function(c,a,b,d,e){return d*(a/=e)*a*a*a+b},easeOutQuart:function(c,a,b,d,e){return-d*((a=a/e-1)*a*a*a-1)+b},easeInOutQuart:function(c,a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a+b;return-d/2*((a-=2)*a*a*a-2)+b},easeInQuint:function(c,a,b,d,e){return d*(a/=e)*a*a*a*a+b},easeOutQuint:function(c,a,b,d,e){return d*((a=a/e-1)*a*a*a*a+1)+b},easeInOutQuint:function(c, +a,b,d,e){if((a/=e/2)<1)return d/2*a*a*a*a*a+b;return d/2*((a-=2)*a*a*a*a+2)+b},easeInSine:function(c,a,b,d,e){return-d*Math.cos(a/e*(Math.PI/2))+d+b},easeOutSine:function(c,a,b,d,e){return d*Math.sin(a/e*(Math.PI/2))+b},easeInOutSine:function(c,a,b,d,e){return-d/2*(Math.cos(Math.PI*a/e)-1)+b},easeInExpo:function(c,a,b,d,e){return a==0?b:d*Math.pow(2,10*(a/e-1))+b},easeOutExpo:function(c,a,b,d,e){return a==e?b+d:d*(-Math.pow(2,-10*a/e)+1)+b},easeInOutExpo:function(c,a,b,d,e){if(a==0)return b;if(a== +e)return b+d;if((a/=e/2)<1)return d/2*Math.pow(2,10*(a-1))+b;return d/2*(-Math.pow(2,-10*--a)+2)+b},easeInCirc:function(c,a,b,d,e){return-d*(Math.sqrt(1-(a/=e)*a)-1)+b},easeOutCirc:function(c,a,b,d,e){return d*Math.sqrt(1-(a=a/e-1)*a)+b},easeInOutCirc:function(c,a,b,d,e){if((a/=e/2)<1)return-d/2*(Math.sqrt(1-a*a)-1)+b;return d/2*(Math.sqrt(1-(a-=2)*a)+1)+b},easeInElastic:function(c,a,b,d,e){c=1.70158;var g=0,h=d;if(a==0)return b;if((a/=e)==1)return b+d;g||(g=e*0.3);if(h").css({position:"absolute",visibility:"visible",left:-f*(h/d),top:-e*(i/c)}).parent().addClass("ui-effects-explode").css({position:"absolute",overflow:"hidden",width:h/d,height:i/c,left:g.left+f*(h/d)+(a.options.mode=="show"?(f-Math.floor(d/2))*(h/d):0),top:g.top+e*(i/c)+(a.options.mode=="show"?(e-Math.floor(c/2))*(i/c):0),opacity:a.options.mode=="show"?0:1}).animate({left:g.left+f*(h/d)+(a.options.mode=="show"?0:(f-Math.floor(d/2))*(h/d)),top:g.top+ +e*(i/c)+(a.options.mode=="show"?0:(e-Math.floor(c/2))*(i/c)),opacity:a.options.mode=="show"?1:0},a.duration||500);setTimeout(function(){a.options.mode=="show"?b.css({visibility:"visible"}):b.css({visibility:"visible"}).hide();a.callback&&a.callback.apply(b[0]);b.dequeue();j("div.ui-effects-explode").remove()},a.duration||500)})}})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Effects Fade 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Effects/Fade + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.fade=function(a){return this.queue(function(){var c=b(this),d=b.effects.setMode(c,a.options.mode||"hide");c.animate({opacity:d},{queue:false,duration:a.duration,easing:a.options.easing,complete:function(){a.callback&&a.callback.apply(this,arguments);c.dequeue()}})})}})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Effects Fold 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Effects/Fold + * + * Depends: + * jquery.effects.core.js + */ +(function(c){c.effects.fold=function(a){return this.queue(function(){var b=c(this),j=["position","top","bottom","left","right"],d=c.effects.setMode(b,a.options.mode||"hide"),g=a.options.size||15,h=!!a.options.horizFirst,k=a.duration?a.duration/2:c.fx.speeds._default/2;c.effects.save(b,j);b.show();var e=c.effects.createWrapper(b).css({overflow:"hidden"}),f=d=="show"!=h,l=f?["width","height"]:["height","width"];f=f?[e.width(),e.height()]:[e.height(),e.width()];var i=/([0-9]+)%/.exec(g);if(i)g=parseInt(i[1], +10)/100*f[d=="hide"?0:1];if(d=="show")e.css(h?{height:0,width:g}:{height:g,width:0});h={};i={};h[l[0]]=d=="show"?f[0]:g;i[l[1]]=d=="show"?f[1]:0;e.animate(h,k,a.options.easing).animate(i,k,a.options.easing,function(){d=="hide"&&b.hide();c.effects.restore(b,j);c.effects.removeWrapper(b);a.callback&&a.callback.apply(b[0],arguments);b.dequeue()})})}})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Effects Highlight 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Effects/Highlight + * + * Depends: + * jquery.effects.core.js + */ +(function(b){b.effects.highlight=function(c){return this.queue(function(){var a=b(this),e=["backgroundImage","backgroundColor","opacity"],d=b.effects.setMode(a,c.options.mode||"show"),f={backgroundColor:a.css("backgroundColor")};if(d=="hide")f.opacity=0;b.effects.save(a,e);a.show().css({backgroundImage:"none",backgroundColor:c.options.color||"#ffff99"}).animate(f,{queue:false,duration:c.duration,easing:c.options.easing,complete:function(){d=="hide"&&a.hide();b.effects.restore(a,e);d=="show"&&!b.support.opacity&& +this.style.removeAttribute("filter");c.callback&&c.callback.apply(this,arguments);a.dequeue()}})})}})(jQuery); +;/* + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * jQuery UI Effects Pulsate 1.8.11 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * + * http://docs.jquery.com/UI/Effects/Pulsate + * + * Depends: + * jquery.effects.core.js + */ +(function(d){d.effects.pulsate=function(a){return this.queue(function(){var b=d(this),c=d.effects.setMode(b,a.options.mode||"show");times=(a.options.times||5)*2-1;duration=a.duration?a.duration/2:d.fx.speeds._default/2;isVisible=b.is(":visible");animateTo=0;if(!isVisible){b.css("opacity",0).show();animateTo=1}if(c=="hide"&&isVisible||c=="show"&&!isVisible)times--;for(c=0;c').appendTo(document.body).addClass(a.options.className).css({top:d.top,left:d.left,height:b.innerHeight(),width:b.innerWidth(),position:"absolute"}).animate(c,a.duration,a.options.easing,function(){f.remove();a.callback&&a.callback.apply(b[0],arguments); +b.dequeue()})})}})(jQuery); +; \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.js b/CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.js new file mode 100644 index 0000000..64acd84 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.js @@ -0,0 +1,165 @@ +/// + +/*! +** Unobtrusive Ajax support library for jQuery +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ + +/*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 window: false, jQuery: false */ + +(function ($) { + var data_click = "unobtrusiveAjaxClick", + data_validation = "unobtrusiveValidation"; + + function getFunction(code, argNames) { + var fn = window, parts = (code || "").split("."); + while (fn && parts.length) { + fn = fn[parts.shift()]; + } + if (typeof (fn) === "function") { + return fn; + } + argNames.push(code); + return Function.constructor.apply(null, argNames); + } + + function isMethodProxySafe(method) { + return method === "GET" || method === "POST"; + } + + function asyncOnBeforeSend(xhr, method) { + if (!isMethodProxySafe(method)) { + xhr.setRequestHeader("X-HTTP-Method-Override", method); + } + } + + function asyncOnSuccess(element, data, contentType) { + var mode; + + if (contentType.indexOf("application/x-javascript") !== -1) { // jQuery already executes JavaScript for us + return; + } + + mode = (element.getAttribute("data-ajax-mode") || "").toUpperCase(); + $(element.getAttribute("data-ajax-update")).each(function (i, update) { + var top; + + switch (mode) { + case "BEFORE": + top = update.firstChild; + $("
      ").html(data).contents().each(function () { + update.insertBefore(this, top); + }); + break; + case "AFTER": + $("
      ").html(data).contents().each(function () { + update.appendChild(this); + }); + break; + default: + $(update).html(data); + break; + } + }); + } + + function asyncRequest(element, options) { + var confirm, loading, method, duration; + + confirm = element.getAttribute("data-ajax-confirm"); + if (confirm && !window.confirm(confirm)) { + return; + } + + loading = $(element.getAttribute("data-ajax-loading")); + duration = element.getAttribute("data-ajax-loading-duration") || 0; + + $.extend(options, { + type: element.getAttribute("data-ajax-method") || undefined, + url: element.getAttribute("data-ajax-url") || undefined, + beforeSend: function (xhr) { + var result; + asyncOnBeforeSend(xhr, method); + result = getFunction(element.getAttribute("data-ajax-begin"), ["xhr"]).apply(this, arguments); + if (result !== false) { + loading.show(duration); + } + return result; + }, + complete: function () { + loading.hide(duration); + getFunction(element.getAttribute("data-ajax-complete"), ["xhr", "status"]).apply(this, arguments); + }, + success: function (data, status, xhr) { + asyncOnSuccess(element, data, xhr.getResponseHeader("Content-Type") || "text/html"); + getFunction(element.getAttribute("data-ajax-success"), ["data", "status", "xhr"]).apply(this, arguments); + }, + error: getFunction(element.getAttribute("data-ajax-failure"), ["xhr", "status", "error"]) + }); + + options.data.push({ name: "X-Requested-With", value: "XMLHttpRequest" }); + + method = options.type.toUpperCase(); + if (!isMethodProxySafe(method)) { + options.type = "POST"; + options.data.push({ name: "X-HTTP-Method-Override", value: method }); + } + + $.ajax(options); + } + + function validate(form) { + var validationInfo = $(form).data(data_validation); + return !validationInfo || !validationInfo.validate || validationInfo.validate(); + } + + $("a[data-ajax=true]").live("click", function (evt) { + evt.preventDefault(); + asyncRequest(this, { + url: this.href, + type: "GET", + data: [] + }); + }); + + $("form[data-ajax=true] input[type=image]").live("click", function (evt) { + var name = evt.target.name, + $target = $(evt.target), + form = $target.parents("form")[0], + offset = $target.offset(); + + $(form).data(data_click, [ + { name: name + ".x", value: Math.round(evt.pageX - offset.left) }, + { name: name + ".y", value: Math.round(evt.pageY - offset.top) } + ]); + + setTimeout(function () { + $(form).removeData(data_click); + }, 0); + }); + + $("form[data-ajax=true] :submit").live("click", function (evt) { + var name = evt.target.name, + form = $(evt.target).parents("form")[0]; + + $(form).data(data_click, name ? [{ name: name, value: evt.target.value }] : []); + + setTimeout(function () { + $(form).removeData(data_click); + }, 0); + }); + + $("form[data-ajax=true]").live("submit", function (evt) { + var clickInfo = $(this).data(data_click) || []; + evt.preventDefault(); + if (!validate(this)) { + return; + } + asyncRequest(this, { + url: this.action, + type: this.method || "GET", + data: clickInfo.concat($(this).serializeArray()) + }); + }); +}(jQuery)); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.min.js b/CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.min.js new file mode 100644 index 0000000..3542991 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery.unobtrusive-ajax.min.js @@ -0,0 +1,5 @@ +/* +** Unobtrusive Ajax support library for jQuery +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ +(function(a){var b="unobtrusiveAjaxClick",g="unobtrusiveValidation";function c(d,b){var a=window,c=(d||"").split(".");while(a&&c.length)a=a[c.shift()];if(typeof a==="function")return a;b.push(d);return Function.constructor.apply(null,b)}function d(a){return a==="GET"||a==="POST"}function f(b,a){!d(a)&&b.setRequestHeader("X-HTTP-Method-Override",a)}function h(c,b,e){var d;if(e.indexOf("application/x-javascript")!==-1)return;d=(c.getAttribute("data-ajax-mode")||"").toUpperCase();a(c.getAttribute("data-ajax-update")).each(function(f,c){var e;switch(d){case"BEFORE":e=c.firstChild;a("
      ").html(b).contents().each(function(){c.insertBefore(this,e)});break;case"AFTER":a("
      ").html(b).contents().each(function(){c.appendChild(this)});break;default:a(c).html(b)}})}function e(b,e){var j,k,g,i;j=b.getAttribute("data-ajax-confirm");if(j&&!window.confirm(j))return;k=a(b.getAttribute("data-ajax-loading"));i=b.getAttribute("data-ajax-loading-duration")||0;a.extend(e,{type:b.getAttribute("data-ajax-method")||undefined,url:b.getAttribute("data-ajax-url")||undefined,beforeSend:function(d){var a;f(d,g);a=c(b.getAttribute("data-ajax-begin"),["xhr"]).apply(this,arguments);a!==false&&k.show(i);return a},complete:function(){k.hide(i);c(b.getAttribute("data-ajax-complete"),["xhr","status"]).apply(this,arguments)},success:function(a,e,d){h(b,a,d.getResponseHeader("Content-Type")||"text/html");c(b.getAttribute("data-ajax-success"),["data","status","xhr"]).apply(this,arguments)},error:c(b.getAttribute("data-ajax-failure"),["xhr","status","error"])});e.data.push({name:"X-Requested-With",value:"XMLHttpRequest"});g=e.type.toUpperCase();if(!d(g)){e.type="POST";e.data.push({name:"X-HTTP-Method-Override",value:g})}a.ajax(e)}function i(c){var b=a(c).data(g);return!b||!b.validate||b.validate()}a("a[data-ajax=true]").live("click",function(a){a.preventDefault();e(this,{url:this.href,type:"GET",data:[]})});a("form[data-ajax=true] input[type=image]").live("click",function(c){var g=c.target.name,d=a(c.target),f=d.parents("form")[0],e=d.offset();a(f).data(b,[{name:g+".x",value:Math.round(c.pageX-e.left)},{name:g+".y",value:Math.round(c.pageY-e.top)}]);setTimeout(function(){a(f).removeData(b)},0)});a("form[data-ajax=true] :submit").live("click",function(c){var e=c.target.name,d=a(c.target).parents("form")[0];a(d).data(b,e?[{name:e,value:c.target.value}]:[]);setTimeout(function(){a(d).removeData(b)},0)});a("form[data-ajax=true]").live("submit",function(d){var c=a(this).data(b)||[];d.preventDefault();if(!i(this))return;e(this,{url:this.action,type:this.method||"GET",data:c.concat(a(this).serializeArray())})})})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/jquery.validate-vsdoc.js b/CharityPortal/CharityPortal/Scripts/jquery.validate-vsdoc.js new file mode 100644 index 0000000..30774ac --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery.validate-vsdoc.js @@ -0,0 +1,1299 @@ +/* +* This file has been commented to support Visual Studio Intellisense. +* You should not use this file at runtime inside the browser--it is only +* intended to be used only for design-time IntelliSense. Please use the +* standard jQuery library for all production use. +* +* Comment version: 1.8 +*/ + +/* +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery validation plugin 1.8.0 +* +* http://bassistance.de/jquery-plugins/jquery-plugin-validation/ +* http://docs.jquery.com/Plugins/Validation +* +* Copyright (c) 2006 - 2011 Jörn Zaefferer +* +*/ + +(function($) { + +$.extend($.fn, { + // http://docs.jquery.com/Plugins/Validation/validate + validate: function( options ) { + /// + /// Validates the selected form. This method sets up event handlers for submit, focus, + /// keyup, blur and click to trigger validation of the entire form or individual + /// elements. Each one can be disabled, see the onxxx options (onsubmit, onfocusout, + /// onkeyup, onclick). focusInvalid focuses elements when submitting a invalid form. + /// + /// + /// A set of key/value pairs that configure the validate. All options are optional. + /// + /// + + // if nothing is selected, return nothing; can't chain anyway + if (!this.length) { + options && options.debug && window.console && console.warn( "nothing selected, can't validate, returning nothing" ); + return; + } + + // check if a validator for this form was already created + var validator = $.data(this[0], 'validator'); + if ( validator ) { + return validator; + } + + validator = new $.validator( options, this[0] ); + $.data(this[0], 'validator', validator); + + if ( validator.settings.onsubmit ) { + + // allow suppresing validation by adding a cancel class to the submit button + this.find("input, button").filter(".cancel").click(function() { + validator.cancelSubmit = true; + }); + + // when a submitHandler is used, capture the submitting button + if (validator.settings.submitHandler) { + this.find("input, button").filter(":submit").click(function() { + validator.submitButton = this; + }); + } + + // validate the form on submit + this.submit( function( event ) { + if ( validator.settings.debug ) + // prevent form submit to be able to see console output + event.preventDefault(); + + function handle() { + if ( validator.settings.submitHandler ) { + if (validator.submitButton) { + // insert a hidden input as a replacement for the missing submit button + var hidden = $("").attr("name", validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm); + } + validator.settings.submitHandler.call( validator, validator.currentForm ); + if (validator.submitButton) { + // and clean up afterwards; thanks to no-block-scope, hidden can be referenced + hidden.remove(); + } + return false; + } + return true; + } + + // prevent submit for invalid forms or custom submit handlers + if ( validator.cancelSubmit ) { + validator.cancelSubmit = false; + return handle(); + } + if ( validator.form() ) { + if ( validator.pendingRequest ) { + validator.formSubmitted = true; + return false; + } + return handle(); + } else { + validator.focusInvalid(); + return false; + } + }); + } + + return validator; + }, + // http://docs.jquery.com/Plugins/Validation/valid + valid: function() { + /// + /// Checks if the selected form is valid or if all selected elements are valid. + /// validate() needs to be called on the form before checking it using this method. + /// + /// + + if ( $(this[0]).is('form')) { + return this.validate().form(); + } else { + var valid = true; + var validator = $(this[0].form).validate(); + this.each(function() { + valid &= validator.element(this); + }); + return valid; + } + }, + // attributes: space seperated list of attributes to retrieve and remove + removeAttrs: function(attributes) { + /// + /// Remove the specified attributes from the first matched element and return them. + /// + /// + /// A space-seperated list of attribute names to remove. + /// + /// + + var result = {}, + $element = this; + $.each(attributes.split(/\s/), function(index, value) { + result[value] = $element.attr(value); + $element.removeAttr(value); + }); + return result; + }, + // http://docs.jquery.com/Plugins/Validation/rules + rules: function(command, argument) { + /// + /// Return the validations rules for the first selected element. + /// + /// + /// Can be either "add" or "remove". + /// + /// + /// A list of rules to add or remove. + /// + /// + + var element = this[0]; + + if (command) { + var settings = $.data(element.form, 'validator').settings; + var staticRules = settings.rules; + var existingRules = $.validator.staticRules(element); + switch(command) { + case "add": + $.extend(existingRules, $.validator.normalizeRule(argument)); + staticRules[element.name] = existingRules; + if (argument.messages) + settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages ); + break; + case "remove": + if (!argument) { + delete staticRules[element.name]; + return existingRules; + } + var filtered = {}; + $.each(argument.split(/\s/), function(index, method) { + filtered[method] = existingRules[method]; + delete existingRules[method]; + }); + return filtered; + } + } + + var data = $.validator.normalizeRules( + $.extend( + {}, + $.validator.metadataRules(element), + $.validator.classRules(element), + $.validator.attributeRules(element), + $.validator.staticRules(element) + ), element); + + // make sure required is at front + if (data.required) { + var param = data.required; + delete data.required; + data = $.extend({required: param}, data); + } + + return data; + } +}); + +// Custom selectors +$.extend($.expr[":"], { + // http://docs.jquery.com/Plugins/Validation/blank + blank: function(a) {return !$.trim("" + a.value);}, + // http://docs.jquery.com/Plugins/Validation/filled + filled: function(a) {return !!$.trim("" + a.value);}, + // http://docs.jquery.com/Plugins/Validation/unchecked + unchecked: function(a) {return !a.checked;} +}); + +// constructor for validator +$.validator = function( options, form ) { + this.settings = $.extend( true, {}, $.validator.defaults, options ); + this.currentForm = form; + this.init(); +}; + +$.validator.format = function(source, params) { + /// + /// Replaces {n} placeholders with arguments. + /// One or more arguments can be passed, in addition to the string template itself, to insert + /// into the string. + /// + /// + /// The string to format. + /// + /// + /// The first argument to insert, or an array of Strings to insert + /// + /// + + if ( arguments.length == 1 ) + return function() { + var args = $.makeArray(arguments); + args.unshift(source); + return $.validator.format.apply( this, args ); + }; + if ( arguments.length > 2 && params.constructor != Array ) { + params = $.makeArray(arguments).slice(1); + } + if ( params.constructor != Array ) { + params = [ params ]; + } + $.each(params, function(i, n) { + source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n); + }); + return source; +}; + +$.extend($.validator, { + + defaults: { + messages: {}, + groups: {}, + rules: {}, + errorClass: "error", + validClass: "valid", + errorElement: "label", + focusInvalid: true, + errorContainer: $( [] ), + errorLabelContainer: $( [] ), + onsubmit: true, + ignore: [], + ignoreTitle: false, + onfocusin: function(element) { + this.lastActive = element; + + // hide error label and remove error class on focus if enabled + if ( this.settings.focusCleanup && !this.blockFocusCleanup ) { + this.settings.unhighlight && this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass ); + this.addWrapper(this.errorsFor(element)).hide(); + } + }, + onfocusout: function(element) { + if ( !this.checkable(element) && (element.name in this.submitted || !this.optional(element)) ) { + this.element(element); + } + }, + onkeyup: function(element) { + if ( element.name in this.submitted || element == this.lastElement ) { + this.element(element); + } + }, + onclick: function(element) { + // click on selects, radiobuttons and checkboxes + if ( element.name in this.submitted ) + this.element(element); + // or option elements, check parent select in that case + else if (element.parentNode.name in this.submitted) + this.element(element.parentNode); + }, + highlight: function( element, errorClass, validClass ) { + $(element).addClass(errorClass).removeClass(validClass); + }, + unhighlight: function( element, errorClass, validClass ) { + $(element).removeClass(errorClass).addClass(validClass); + } + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/setDefaults + setDefaults: function(settings) { + /// + /// Modify default settings for validation. + /// Accepts everything that Plugins/Validation/validate accepts. + /// + /// + /// Options to set as default. + /// + /// + + $.extend( $.validator.defaults, settings ); + }, + + messages: { + required: "This field is required.", + remote: "Please fix this field.", + email: "Please enter a valid email address.", + url: "Please enter a valid URL.", + date: "Please enter a valid date.", + dateISO: "Please enter a valid date (ISO).", + number: "Please enter a valid number.", + digits: "Please enter only digits.", + creditcard: "Please enter a valid credit card number.", + equalTo: "Please enter the same value again.", + accept: "Please enter a value with a valid extension.", + maxlength: $.validator.format("Please enter no more than {0} characters."), + minlength: $.validator.format("Please enter at least {0} characters."), + rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), + range: $.validator.format("Please enter a value between {0} and {1}."), + max: $.validator.format("Please enter a value less than or equal to {0}."), + min: $.validator.format("Please enter a value greater than or equal to {0}.") + }, + + autoCreateRanges: false, + + prototype: { + + init: function() { + this.labelContainer = $(this.settings.errorLabelContainer); + this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm); + this.containers = $(this.settings.errorContainer).add( this.settings.errorLabelContainer ); + this.submitted = {}; + this.valueCache = {}; + this.pendingRequest = 0; + this.pending = {}; + this.invalid = {}; + this.reset(); + + var groups = (this.groups = {}); + $.each(this.settings.groups, function(key, value) { + $.each(value.split(/\s/), function(index, name) { + groups[name] = key; + }); + }); + var rules = this.settings.rules; + $.each(rules, function(key, value) { + rules[key] = $.validator.normalizeRule(value); + }); + + function delegate(event) { + var validator = $.data(this[0].form, "validator"), + eventType = "on" + event.type.replace(/^validate/, ""); + validator.settings[eventType] && validator.settings[eventType].call(validator, this[0] ); + } + $(this.currentForm) + .validateDelegate(":text, :password, :file, select, textarea", "focusin focusout keyup", delegate) + .validateDelegate(":radio, :checkbox, select, option", "click", delegate); + + if (this.settings.invalidHandler) + $(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler); + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/form + form: function() { + /// + /// Validates the form, returns true if it is valid, false otherwise. + /// This behaves as a normal submit event, but returns the result. + /// + /// + + this.checkForm(); + $.extend(this.submitted, this.errorMap); + this.invalid = $.extend({}, this.errorMap); + if (!this.valid()) + $(this.currentForm).triggerHandler("invalid-form", [this]); + this.showErrors(); + return this.valid(); + }, + + checkForm: function() { + this.prepareForm(); + for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) { + this.check( elements[i] ); + } + return this.valid(); + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/element + element: function( element ) { + /// + /// Validates a single element, returns true if it is valid, false otherwise. + /// This behaves as validation on blur or keyup, but returns the result. + /// + /// + /// An element to validate, must be inside the validated form. + /// + /// + + element = this.clean( element ); + this.lastElement = element; + this.prepareElement( element ); + this.currentElements = $(element); + var result = this.check( element ); + if ( result ) { + delete this.invalid[element.name]; + } else { + this.invalid[element.name] = true; + } + if ( !this.numberOfInvalids() ) { + // Hide error containers on last error + this.toHide = this.toHide.add( this.containers ); + } + this.showErrors(); + return result; + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/showErrors + showErrors: function(errors) { + /// + /// Show the specified messages. + /// Keys have to refer to the names of elements, values are displayed for those elements, using the configured error placement. + /// + /// + /// One or more key/value pairs of input names and messages. + /// + /// + + if(errors) { + // add items to error list and map + $.extend( this.errorMap, errors ); + this.errorList = []; + for ( var name in errors ) { + this.errorList.push({ + message: errors[name], + element: this.findByName(name)[0] + }); + } + // remove items from success list + this.successList = $.grep( this.successList, function(element) { + return !(element.name in errors); + }); + } + this.settings.showErrors + ? this.settings.showErrors.call( this, this.errorMap, this.errorList ) + : this.defaultShowErrors(); + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/resetForm + resetForm: function() { + /// + /// Resets the controlled form. + /// Resets input fields to their original value (requires form plugin), removes classes + /// indicating invalid elements and hides error messages. + /// + /// + + if ( $.fn.resetForm ) + $( this.currentForm ).resetForm(); + this.submitted = {}; + this.prepareForm(); + this.hideErrors(); + this.elements().removeClass( this.settings.errorClass ); + }, + + numberOfInvalids: function() { + /// + /// Returns the number of invalid fields. + /// This depends on the internal validator state. It covers all fields only after + /// validating the complete form (on submit or via $("form").valid()). After validating + /// a single element, only that element is counted. Most useful in combination with the + /// invalidHandler-option. + /// + /// + + return this.objectLength(this.invalid); + }, + + objectLength: function( obj ) { + var count = 0; + for ( var i in obj ) + count++; + return count; + }, + + hideErrors: function() { + this.addWrapper( this.toHide ).hide(); + }, + + valid: function() { + return this.size() == 0; + }, + + size: function() { + return this.errorList.length; + }, + + focusInvalid: function() { + if( this.settings.focusInvalid ) { + try { + $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []) + .filter(":visible") + .focus() + // manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find + .trigger("focusin"); + } catch(e) { + // ignore IE throwing errors when focusing hidden elements + } + } + }, + + findLastActive: function() { + var lastActive = this.lastActive; + return lastActive && $.grep(this.errorList, function(n) { + return n.element.name == lastActive.name; + }).length == 1 && lastActive; + }, + + elements: function() { + var validator = this, + rulesCache = {}; + + // select all valid inputs inside the form (no submit or reset buttons) + // workaround $Query([]).add until http://dev.jquery.com/ticket/2114 is solved + return $([]).add(this.currentForm.elements) + .filter(":input") + .not(":submit, :reset, :image, [disabled]") + .not( this.settings.ignore ) + .filter(function() { + !this.name && validator.settings.debug && window.console && console.error( "%o has no name assigned", this); + + // select only the first element for each name, and only those with rules specified + if ( this.name in rulesCache || !validator.objectLength($(this).rules()) ) + return false; + + rulesCache[this.name] = true; + return true; + }); + }, + + clean: function( selector ) { + return $( selector )[0]; + }, + + errors: function() { + return $( this.settings.errorElement + "." + this.settings.errorClass, this.errorContext ); + }, + + reset: function() { + this.successList = []; + this.errorList = []; + this.errorMap = {}; + this.toShow = $([]); + this.toHide = $([]); + this.currentElements = $([]); + }, + + prepareForm: function() { + this.reset(); + this.toHide = this.errors().add( this.containers ); + }, + + prepareElement: function( element ) { + this.reset(); + this.toHide = this.errorsFor(element); + }, + + check: function( element ) { + element = this.clean( element ); + + // if radio/checkbox, validate first element in group instead + if (this.checkable(element)) { + element = this.findByName(element.name).not(this.settings.ignore)[0]; + } + + var rules = $(element).rules(); + var dependencyMismatch = false; + for (var method in rules) { + var rule = { method: method, parameters: rules[method] }; + try { + var result = $.validator.methods[method].call( this, element.value.replace(/\r/g, ""), element, rule.parameters ); + + // if a method indicates that the field is optional and therefore valid, + // don't mark it as valid when there are no other rules + if ( result == "dependency-mismatch" ) { + dependencyMismatch = true; + continue; + } + dependencyMismatch = false; + + if ( result == "pending" ) { + this.toHide = this.toHide.not( this.errorsFor(element) ); + return; + } + + if( !result ) { + this.formatAndAdd( element, rule ); + return false; + } + } catch(e) { + this.settings.debug && window.console && console.log("exception occured when checking element " + element.id + + ", check the '" + rule.method + "' method", e); + throw e; + } + } + if (dependencyMismatch) + return; + if ( this.objectLength(rules) ) + this.successList.push(element); + return true; + }, + + // return the custom message for the given element and validation method + // specified in the element's "messages" metadata + customMetaMessage: function(element, method) { + if (!$.metadata) + return; + + var meta = this.settings.meta + ? $(element).metadata()[this.settings.meta] + : $(element).metadata(); + + return meta && meta.messages && meta.messages[method]; + }, + + // return the custom message for the given element name and validation method + customMessage: function( name, method ) { + var m = this.settings.messages[name]; + return m && (m.constructor == String + ? m + : m[method]); + }, + + // return the first defined argument, allowing empty strings + findDefined: function() { + for(var i = 0; i < arguments.length; i++) { + if (arguments[i] !== undefined) + return arguments[i]; + } + return undefined; + }, + + defaultMessage: function( element, method) { + return this.findDefined( + this.customMessage( element.name, method ), + this.customMetaMessage( element, method ), + // title is never undefined, so handle empty string as undefined + !this.settings.ignoreTitle && element.title || undefined, + $.validator.messages[method], + "Warning: No message defined for " + element.name + "" + ); + }, + + formatAndAdd: function( element, rule ) { + var message = this.defaultMessage( element, rule.method ), + theregex = /\$?\{(\d+)\}/g; + if ( typeof message == "function" ) { + message = message.call(this, rule.parameters, element); + } else if (theregex.test(message)) { + message = jQuery.format(message.replace(theregex, '{$1}'), rule.parameters); + } + this.errorList.push({ + message: message, + element: element + }); + + this.errorMap[element.name] = message; + this.submitted[element.name] = message; + }, + + addWrapper: function(toToggle) { + if ( this.settings.wrapper ) + toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) ); + return toToggle; + }, + + defaultShowErrors: function() { + for ( var i = 0; this.errorList[i]; i++ ) { + var error = this.errorList[i]; + this.settings.highlight && this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass ); + this.showLabel( error.element, error.message ); + } + if( this.errorList.length ) { + this.toShow = this.toShow.add( this.containers ); + } + if (this.settings.success) { + for ( var i = 0; this.successList[i]; i++ ) { + this.showLabel( this.successList[i] ); + } + } + if (this.settings.unhighlight) { + for ( var i = 0, elements = this.validElements(); elements[i]; i++ ) { + this.settings.unhighlight.call( this, elements[i], this.settings.errorClass, this.settings.validClass ); + } + } + this.toHide = this.toHide.not( this.toShow ); + this.hideErrors(); + this.addWrapper( this.toShow ).show(); + }, + + validElements: function() { + return this.currentElements.not(this.invalidElements()); + }, + + invalidElements: function() { + return $(this.errorList).map(function() { + return this.element; + }); + }, + + showLabel: function(element, message) { + var label = this.errorsFor( element ); + if ( label.length ) { + // refresh error/success class + label.removeClass().addClass( this.settings.errorClass ); + + // check if we have a generated label, replace the message then + label.attr("generated") && label.html(message); + } else { + // create label + label = $("<" + this.settings.errorElement + "/>") + .attr({"for": this.idOrName(element), generated: true}) + .addClass(this.settings.errorClass) + .html(message || ""); + if ( this.settings.wrapper ) { + // make sure the element is visible, even in IE + // actually showing the wrapped element is handled elsewhere + label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent(); + } + if ( !this.labelContainer.append(label).length ) + this.settings.errorPlacement + ? this.settings.errorPlacement(label, $(element) ) + : label.insertAfter(element); + } + if ( !message && this.settings.success ) { + label.text(""); + typeof this.settings.success == "string" + ? label.addClass( this.settings.success ) + : this.settings.success( label ); + } + this.toShow = this.toShow.add(label); + }, + + errorsFor: function(element) { + var name = this.idOrName(element); + return this.errors().filter(function() { + return $(this).attr('for') == name; + }); + }, + + idOrName: function(element) { + return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name); + }, + + checkable: function( element ) { + return /radio|checkbox/i.test(element.type); + }, + + findByName: function( name ) { + // select by name and filter by form for performance over form.find("[name=...]") + var form = this.currentForm; + return $(document.getElementsByName(name)).map(function(index, element) { + return element.form == form && element.name == name && element || null; + }); + }, + + getLength: function(value, element) { + switch( element.nodeName.toLowerCase() ) { + case 'select': + return $("option:selected", element).length; + case 'input': + if( this.checkable( element) ) + return this.findByName(element.name).filter(':checked').length; + } + return value.length; + }, + + depend: function(param, element) { + return this.dependTypes[typeof param] + ? this.dependTypes[typeof param](param, element) + : true; + }, + + dependTypes: { + "boolean": function(param, element) { + return param; + }, + "string": function(param, element) { + return !!$(param, element.form).length; + }, + "function": function(param, element) { + return param(element); + } + }, + + optional: function(element) { + return !$.validator.methods.required.call(this, $.trim(element.value), element) && "dependency-mismatch"; + }, + + startRequest: function(element) { + if (!this.pending[element.name]) { + this.pendingRequest++; + this.pending[element.name] = true; + } + }, + + stopRequest: function(element, valid) { + this.pendingRequest--; + // sometimes synchronization fails, make sure pendingRequest is never < 0 + if (this.pendingRequest < 0) + this.pendingRequest = 0; + delete this.pending[element.name]; + if ( valid && this.pendingRequest == 0 && this.formSubmitted && this.form() ) { + $(this.currentForm).submit(); + this.formSubmitted = false; + } else if (!valid && this.pendingRequest == 0 && this.formSubmitted) { + $(this.currentForm).triggerHandler("invalid-form", [this]); + this.formSubmitted = false; + } + }, + + previousValue: function(element) { + return $.data(element, "previousValue") || $.data(element, "previousValue", { + old: null, + valid: true, + message: this.defaultMessage( element, "remote" ) + }); + } + + }, + + classRuleSettings: { + required: {required: true}, + email: {email: true}, + url: {url: true}, + date: {date: true}, + dateISO: {dateISO: true}, + dateDE: {dateDE: true}, + number: {number: true}, + numberDE: {numberDE: true}, + digits: {digits: true}, + creditcard: {creditcard: true} + }, + + addClassRules: function(className, rules) { + /// + /// Add a compound class method - useful to refactor common combinations of rules into a single + /// class. + /// + /// + /// The name of the class rule to add + /// + /// + /// The compound rules + /// + /// + + className.constructor == String ? + this.classRuleSettings[className] = rules : + $.extend(this.classRuleSettings, className); + }, + + classRules: function(element) { + var rules = {}; + var classes = $(element).attr('class'); + classes && $.each(classes.split(' '), function() { + if (this in $.validator.classRuleSettings) { + $.extend(rules, $.validator.classRuleSettings[this]); + } + }); + return rules; + }, + + attributeRules: function(element) { + var rules = {}; + var $element = $(element); + + for (var method in $.validator.methods) { + var value = $element.attr(method); + if (value) { + rules[method] = value; + } + } + + // maxlength may be returned as -1, 2147483647 (IE) and 524288 (safari) for text inputs + if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) { + delete rules.maxlength; + } + + return rules; + }, + + metadataRules: function(element) { + if (!$.metadata) return {}; + + var meta = $.data(element.form, 'validator').settings.meta; + return meta ? + $(element).metadata()[meta] : + $(element).metadata(); + }, + + staticRules: function(element) { + var rules = {}; + var validator = $.data(element.form, 'validator'); + if (validator.settings.rules) { + rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {}; + } + return rules; + }, + + normalizeRules: function(rules, element) { + // handle dependency check + $.each(rules, function(prop, val) { + // ignore rule when param is explicitly false, eg. required:false + if (val === false) { + delete rules[prop]; + return; + } + if (val.param || val.depends) { + var keepRule = true; + switch (typeof val.depends) { + case "string": + keepRule = !!$(val.depends, element.form).length; + break; + case "function": + keepRule = val.depends.call(element, element); + break; + } + if (keepRule) { + rules[prop] = val.param !== undefined ? val.param : true; + } else { + delete rules[prop]; + } + } + }); + + // evaluate parameters + $.each(rules, function(rule, parameter) { + rules[rule] = $.isFunction(parameter) ? parameter(element) : parameter; + }); + + // clean number parameters + $.each(['minlength', 'maxlength', 'min', 'max'], function() { + if (rules[this]) { + rules[this] = Number(rules[this]); + } + }); + $.each(['rangelength', 'range'], function() { + if (rules[this]) { + rules[this] = [Number(rules[this][0]), Number(rules[this][1])]; + } + }); + + if ($.validator.autoCreateRanges) { + // auto-create ranges + if (rules.min && rules.max) { + rules.range = [rules.min, rules.max]; + delete rules.min; + delete rules.max; + } + if (rules.minlength && rules.maxlength) { + rules.rangelength = [rules.minlength, rules.maxlength]; + delete rules.minlength; + delete rules.maxlength; + } + } + + // To support custom messages in metadata ignore rule methods titled "messages" + if (rules.messages) { + delete rules.messages; + } + + return rules; + }, + + // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true} + normalizeRule: function(data) { + if( typeof data == "string" ) { + var transformed = {}; + $.each(data.split(/\s/), function() { + transformed[this] = true; + }); + data = transformed; + } + return data; + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/addMethod + addMethod: function(name, method, message) { + /// + /// Add a custom validation method. It must consist of a name (must be a legal javascript + /// identifier), a javascript based function and a default string message. + /// + /// + /// The name of the method, used to identify and referencing it, must be a valid javascript + /// identifier + /// + /// + /// The actual method implementation, returning true if an element is valid + /// + /// + /// (Optional) The default message to display for this method. Can be a function created by + /// jQuery.validator.format(value). When undefined, an already existing message is used + /// (handy for localization), otherwise the field-specific messages have to be defined. + /// + /// + + $.validator.methods[name] = method; + $.validator.messages[name] = message != undefined ? message : $.validator.messages[name]; + if (method.length < 3) { + $.validator.addClassRules(name, $.validator.normalizeRule(name)); + } + }, + + methods: { + + // http://docs.jquery.com/Plugins/Validation/Methods/required + required: function(value, element, param) { + // check if dependency is met + if ( !this.depend(param, element) ) + return "dependency-mismatch"; + switch( element.nodeName.toLowerCase() ) { + case 'select': + // could be an array for select-multiple or a string, both are fine this way + var val = $(element).val(); + return val && val.length > 0; + case 'input': + if ( this.checkable(element) ) + return this.getLength(value, element) > 0; + default: + return $.trim(value).length > 0; + } + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/remote + remote: function(value, element, param) { + if ( this.optional(element) ) + return "dependency-mismatch"; + + var previous = this.previousValue(element); + if (!this.settings.messages[element.name] ) + this.settings.messages[element.name] = {}; + previous.originalMessage = this.settings.messages[element.name].remote; + this.settings.messages[element.name].remote = previous.message; + + param = typeof param == "string" && {url:param} || param; + + if ( this.pending[element.name] ) { + return "pending"; + } + if ( previous.old === value ) { + return previous.valid; + } + + previous.old = value; + var validator = this; + this.startRequest(element); + var data = {}; + data[element.name] = value; + $.ajax($.extend(true, { + url: param, + mode: "abort", + port: "validate" + element.name, + dataType: "json", + data: data, + success: function(response) { + validator.settings.messages[element.name].remote = previous.originalMessage; + var valid = response === true; + if ( valid ) { + var submitted = validator.formSubmitted; + validator.prepareElement(element); + validator.formSubmitted = submitted; + validator.successList.push(element); + validator.showErrors(); + } else { + var errors = {}; + var message = response || validator.defaultMessage(element, "remote"); + errors[element.name] = previous.message = $.isFunction(message) ? message(value) : message; + validator.showErrors(errors); + } + previous.valid = valid; + validator.stopRequest(element, valid); + } + }, param)); + return "pending"; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/minlength + minlength: function(value, element, param) { + return this.optional(element) || this.getLength($.trim(value), element) >= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/maxlength + maxlength: function(value, element, param) { + return this.optional(element) || this.getLength($.trim(value), element) <= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/rangelength + rangelength: function(value, element, param) { + var length = this.getLength($.trim(value), element); + return this.optional(element) || ( length >= param[0] && length <= param[1] ); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/min + min: function( value, element, param ) { + return this.optional(element) || value >= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/max + max: function( value, element, param ) { + return this.optional(element) || value <= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/range + range: function( value, element, param ) { + return this.optional(element) || ( value >= param[0] && value <= param[1] ); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/email + email: function(value, element) { + // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/ + return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/url + url: function(value, element) { + // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/ + return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/date + date: function(value, element) { + return this.optional(element) || !/Invalid|NaN/.test(new Date(value)); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/dateISO + dateISO: function(value, element) { + return this.optional(element) || /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/number + number: function(value, element) { + return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/digits + digits: function(value, element) { + return this.optional(element) || /^\d+$/.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/creditcard + // based on http://en.wikipedia.org/wiki/Luhn + creditcard: function(value, element) { + if ( this.optional(element) ) + return "dependency-mismatch"; + // accept only digits and dashes + if (/[^0-9-]+/.test(value)) + return false; + var nCheck = 0, + nDigit = 0, + bEven = false; + + value = value.replace(/\D/g, ""); + + for (var n = value.length - 1; n >= 0; n--) { + var cDigit = value.charAt(n); + var nDigit = parseInt(cDigit, 10); + if (bEven) { + if ((nDigit *= 2) > 9) + nDigit -= 9; + } + nCheck += nDigit; + bEven = !bEven; + } + + return (nCheck % 10) == 0; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/accept + accept: function(value, element, param) { + param = typeof param == "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif"; + return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/equalTo + equalTo: function(value, element, param) { + // bind to the blur event of the target in order to revalidate whenever the target field is updated + // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead + var target = $(param).unbind(".validate-equalTo").bind("blur.validate-equalTo", function() { + $(element).valid(); + }); + return value == target.val(); + } + + } + +}); + +// deprecated, use $.validator.format instead +$.format = $.validator.format; + +})(jQuery); + +// ajax mode: abort +// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]}); +// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort() +;(function($) { + var pendingRequests = {}; + // Use a prefilter if available (1.5+) + if ( $.ajaxPrefilter ) { + $.ajaxPrefilter(function(settings, _, xhr) { + var port = settings.port; + if (settings.mode == "abort") { + if ( pendingRequests[port] ) { + pendingRequests[port].abort(); + } pendingRequests[port] = xhr; + } + }); + } else { + // Proxy ajax + var ajax = $.ajax; + $.ajax = function(settings) { + var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode, + port = ( "port" in settings ? settings : $.ajaxSettings ).port; + if (mode == "abort") { + if ( pendingRequests[port] ) { + pendingRequests[port].abort(); + } + + return (pendingRequests[port] = ajax.apply(this, arguments)); + } + return ajax.apply(this, arguments); + }; + } +})(jQuery); + +// provides cross-browser focusin and focusout events +// IE has native support, in other browsers, use event caputuring (neither bubbles) + +// provides delegate(type: String, delegate: Selector, handler: Callback) plugin for easier event delegation +// handler is only called when $(event.target).is(delegate), in the scope of the jquery-object for event.target +;(function($) { + // only implement if not provided by jQuery core (since 1.4) + // TODO verify if jQuery 1.4's implementation is compatible with older jQuery special-event APIs + if (!jQuery.event.special.focusin && !jQuery.event.special.focusout && document.addEventListener) { + $.each({ + focus: 'focusin', + blur: 'focusout' + }, function( original, fix ){ + $.event.special[fix] = { + setup:function() { + this.addEventListener( original, handler, true ); + }, + teardown:function() { + this.removeEventListener( original, handler, true ); + }, + handler: function(e) { + arguments[0] = $.event.fix(e); + arguments[0].type = fix; + return $.event.handle.apply(this, arguments); + } + }; + function handler(e) { + e = $.event.fix(e); + e.type = fix; + return $.event.handle.call(this, e); + } + }); + }; + $.extend($.fn, { + validateDelegate: function(delegate, type, handler) { + return this.bind(type, function(event) { + var target = $(event.target); + if (target.is(delegate)) { + return handler.apply(target, arguments); + } + }); + } + }); +})(jQuery); diff --git a/CharityPortal/CharityPortal/Scripts/jquery.validate.js b/CharityPortal/CharityPortal/Scripts/jquery.validate.js new file mode 100644 index 0000000..4ba1ad9 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery.validate.js @@ -0,0 +1,1162 @@ +/** +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery Validation Plugin 1.8.0 +* +* http://bassistance.de/jquery-plugins/jquery-plugin-validation/ +* http://docs.jquery.com/Plugins/Validation +* +* Copyright (c) 2006 - 2011 Jörn Zaefferer +*/ + +(function($) { + +$.extend($.fn, { + // http://docs.jquery.com/Plugins/Validation/validate + validate: function( options ) { + + // if nothing is selected, return nothing; can't chain anyway + if (!this.length) { + options && options.debug && window.console && console.warn( "nothing selected, can't validate, returning nothing" ); + return; + } + + // check if a validator for this form was already created + var validator = $.data(this[0], 'validator'); + if ( validator ) { + return validator; + } + + validator = new $.validator( options, this[0] ); + $.data(this[0], 'validator', validator); + + if ( validator.settings.onsubmit ) { + + // allow suppresing validation by adding a cancel class to the submit button + this.find("input, button").filter(".cancel").click(function() { + validator.cancelSubmit = true; + }); + + // when a submitHandler is used, capture the submitting button + if (validator.settings.submitHandler) { + this.find("input, button").filter(":submit").click(function() { + validator.submitButton = this; + }); + } + + // validate the form on submit + this.submit( function( event ) { + if ( validator.settings.debug ) + // prevent form submit to be able to see console output + event.preventDefault(); + + function handle() { + if ( validator.settings.submitHandler ) { + if (validator.submitButton) { + // insert a hidden input as a replacement for the missing submit button + var hidden = $("").attr("name", validator.submitButton.name).val(validator.submitButton.value).appendTo(validator.currentForm); + } + validator.settings.submitHandler.call( validator, validator.currentForm ); + if (validator.submitButton) { + // and clean up afterwards; thanks to no-block-scope, hidden can be referenced + hidden.remove(); + } + return false; + } + return true; + } + + // prevent submit for invalid forms or custom submit handlers + if ( validator.cancelSubmit ) { + validator.cancelSubmit = false; + return handle(); + } + if ( validator.form() ) { + if ( validator.pendingRequest ) { + validator.formSubmitted = true; + return false; + } + return handle(); + } else { + validator.focusInvalid(); + return false; + } + }); + } + + return validator; + }, + // http://docs.jquery.com/Plugins/Validation/valid + valid: function() { + if ( $(this[0]).is('form')) { + return this.validate().form(); + } else { + var valid = true; + var validator = $(this[0].form).validate(); + this.each(function() { + valid &= validator.element(this); + }); + return valid; + } + }, + // attributes: space seperated list of attributes to retrieve and remove + removeAttrs: function(attributes) { + var result = {}, + $element = this; + $.each(attributes.split(/\s/), function(index, value) { + result[value] = $element.attr(value); + $element.removeAttr(value); + }); + return result; + }, + // http://docs.jquery.com/Plugins/Validation/rules + rules: function(command, argument) { + var element = this[0]; + + if (command) { + var settings = $.data(element.form, 'validator').settings; + var staticRules = settings.rules; + var existingRules = $.validator.staticRules(element); + switch(command) { + case "add": + $.extend(existingRules, $.validator.normalizeRule(argument)); + staticRules[element.name] = existingRules; + if (argument.messages) + settings.messages[element.name] = $.extend( settings.messages[element.name], argument.messages ); + break; + case "remove": + if (!argument) { + delete staticRules[element.name]; + return existingRules; + } + var filtered = {}; + $.each(argument.split(/\s/), function(index, method) { + filtered[method] = existingRules[method]; + delete existingRules[method]; + }); + return filtered; + } + } + + var data = $.validator.normalizeRules( + $.extend( + {}, + $.validator.metadataRules(element), + $.validator.classRules(element), + $.validator.attributeRules(element), + $.validator.staticRules(element) + ), element); + + // make sure required is at front + if (data.required) { + var param = data.required; + delete data.required; + data = $.extend({required: param}, data); + } + + return data; + } +}); + +// Custom selectors +$.extend($.expr[":"], { + // http://docs.jquery.com/Plugins/Validation/blank + blank: function(a) {return !$.trim("" + a.value);}, + // http://docs.jquery.com/Plugins/Validation/filled + filled: function(a) {return !!$.trim("" + a.value);}, + // http://docs.jquery.com/Plugins/Validation/unchecked + unchecked: function(a) {return !a.checked;} +}); + +// constructor for validator +$.validator = function( options, form ) { + this.settings = $.extend( true, {}, $.validator.defaults, options ); + this.currentForm = form; + this.init(); +}; + +$.validator.format = function(source, params) { + if ( arguments.length == 1 ) + return function() { + var args = $.makeArray(arguments); + args.unshift(source); + return $.validator.format.apply( this, args ); + }; + if ( arguments.length > 2 && params.constructor != Array ) { + params = $.makeArray(arguments).slice(1); + } + if ( params.constructor != Array ) { + params = [ params ]; + } + $.each(params, function(i, n) { + source = source.replace(new RegExp("\\{" + i + "\\}", "g"), n); + }); + return source; +}; + +$.extend($.validator, { + + defaults: { + messages: {}, + groups: {}, + rules: {}, + errorClass: "error", + validClass: "valid", + errorElement: "label", + focusInvalid: true, + errorContainer: $( [] ), + errorLabelContainer: $( [] ), + onsubmit: true, + ignore: [], + ignoreTitle: false, + onfocusin: function(element) { + this.lastActive = element; + + // hide error label and remove error class on focus if enabled + if ( this.settings.focusCleanup && !this.blockFocusCleanup ) { + this.settings.unhighlight && this.settings.unhighlight.call( this, element, this.settings.errorClass, this.settings.validClass ); + this.addWrapper(this.errorsFor(element)).hide(); + } + }, + onfocusout: function(element) { + if ( !this.checkable(element) && (element.name in this.submitted || !this.optional(element)) ) { + this.element(element); + } + }, + onkeyup: function(element) { + if ( element.name in this.submitted || element == this.lastElement ) { + this.element(element); + } + }, + onclick: function(element) { + // click on selects, radiobuttons and checkboxes + if ( element.name in this.submitted ) + this.element(element); + // or option elements, check parent select in that case + else if (element.parentNode.name in this.submitted) + this.element(element.parentNode); + }, + highlight: function( element, errorClass, validClass ) { + $(element).addClass(errorClass).removeClass(validClass); + }, + unhighlight: function( element, errorClass, validClass ) { + $(element).removeClass(errorClass).addClass(validClass); + } + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/setDefaults + setDefaults: function(settings) { + $.extend( $.validator.defaults, settings ); + }, + + messages: { + required: "This field is required.", + remote: "Please fix this field.", + email: "Please enter a valid email address.", + url: "Please enter a valid URL.", + date: "Please enter a valid date.", + dateISO: "Please enter a valid date (ISO).", + number: "Please enter a valid number.", + digits: "Please enter only digits.", + creditcard: "Please enter a valid credit card number.", + equalTo: "Please enter the same value again.", + accept: "Please enter a value with a valid extension.", + maxlength: $.validator.format("Please enter no more than {0} characters."), + minlength: $.validator.format("Please enter at least {0} characters."), + rangelength: $.validator.format("Please enter a value between {0} and {1} characters long."), + range: $.validator.format("Please enter a value between {0} and {1}."), + max: $.validator.format("Please enter a value less than or equal to {0}."), + min: $.validator.format("Please enter a value greater than or equal to {0}.") + }, + + autoCreateRanges: false, + + prototype: { + + init: function() { + this.labelContainer = $(this.settings.errorLabelContainer); + this.errorContext = this.labelContainer.length && this.labelContainer || $(this.currentForm); + this.containers = $(this.settings.errorContainer).add( this.settings.errorLabelContainer ); + this.submitted = {}; + this.valueCache = {}; + this.pendingRequest = 0; + this.pending = {}; + this.invalid = {}; + this.reset(); + + var groups = (this.groups = {}); + $.each(this.settings.groups, function(key, value) { + $.each(value.split(/\s/), function(index, name) { + groups[name] = key; + }); + }); + var rules = this.settings.rules; + $.each(rules, function(key, value) { + rules[key] = $.validator.normalizeRule(value); + }); + + function delegate(event) { + var validator = $.data(this[0].form, "validator"), + eventType = "on" + event.type.replace(/^validate/, ""); + validator.settings[eventType] && validator.settings[eventType].call(validator, this[0] ); + } + $(this.currentForm) + .validateDelegate(":text, :password, :file, select, textarea", "focusin focusout keyup", delegate) + .validateDelegate(":radio, :checkbox, select, option", "click", delegate); + + if (this.settings.invalidHandler) + $(this.currentForm).bind("invalid-form.validate", this.settings.invalidHandler); + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/form + form: function() { + this.checkForm(); + $.extend(this.submitted, this.errorMap); + this.invalid = $.extend({}, this.errorMap); + if (!this.valid()) + $(this.currentForm).triggerHandler("invalid-form", [this]); + this.showErrors(); + return this.valid(); + }, + + checkForm: function() { + this.prepareForm(); + for ( var i = 0, elements = (this.currentElements = this.elements()); elements[i]; i++ ) { + this.check( elements[i] ); + } + return this.valid(); + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/element + element: function( element ) { + element = this.clean( element ); + this.lastElement = element; + this.prepareElement( element ); + this.currentElements = $(element); + var result = this.check( element ); + if ( result ) { + delete this.invalid[element.name]; + } else { + this.invalid[element.name] = true; + } + if ( !this.numberOfInvalids() ) { + // Hide error containers on last error + this.toHide = this.toHide.add( this.containers ); + } + this.showErrors(); + return result; + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/showErrors + showErrors: function(errors) { + if(errors) { + // add items to error list and map + $.extend( this.errorMap, errors ); + this.errorList = []; + for ( var name in errors ) { + this.errorList.push({ + message: errors[name], + element: this.findByName(name)[0] + }); + } + // remove items from success list + this.successList = $.grep( this.successList, function(element) { + return !(element.name in errors); + }); + } + this.settings.showErrors + ? this.settings.showErrors.call( this, this.errorMap, this.errorList ) + : this.defaultShowErrors(); + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/resetForm + resetForm: function() { + if ( $.fn.resetForm ) + $( this.currentForm ).resetForm(); + this.submitted = {}; + this.prepareForm(); + this.hideErrors(); + this.elements().removeClass( this.settings.errorClass ); + }, + + numberOfInvalids: function() { + return this.objectLength(this.invalid); + }, + + objectLength: function( obj ) { + var count = 0; + for ( var i in obj ) + count++; + return count; + }, + + hideErrors: function() { + this.addWrapper( this.toHide ).hide(); + }, + + valid: function() { + return this.size() == 0; + }, + + size: function() { + return this.errorList.length; + }, + + focusInvalid: function() { + if( this.settings.focusInvalid ) { + try { + $(this.findLastActive() || this.errorList.length && this.errorList[0].element || []) + .filter(":visible") + .focus() + // manually trigger focusin event; without it, focusin handler isn't called, findLastActive won't have anything to find + .trigger("focusin"); + } catch(e) { + // ignore IE throwing errors when focusing hidden elements + } + } + }, + + findLastActive: function() { + var lastActive = this.lastActive; + return lastActive && $.grep(this.errorList, function(n) { + return n.element.name == lastActive.name; + }).length == 1 && lastActive; + }, + + elements: function() { + var validator = this, + rulesCache = {}; + + // select all valid inputs inside the form (no submit or reset buttons) + // workaround $Query([]).add until http://dev.jquery.com/ticket/2114 is solved + return $([]).add(this.currentForm.elements) + .filter(":input") + .not(":submit, :reset, :image, [disabled]") + .not( this.settings.ignore ) + .filter(function() { + !this.name && validator.settings.debug && window.console && console.error( "%o has no name assigned", this); + + // select only the first element for each name, and only those with rules specified + if ( this.name in rulesCache || !validator.objectLength($(this).rules()) ) + return false; + + rulesCache[this.name] = true; + return true; + }); + }, + + clean: function( selector ) { + return $( selector )[0]; + }, + + errors: function() { + return $( this.settings.errorElement + "." + this.settings.errorClass, this.errorContext ); + }, + + reset: function() { + this.successList = []; + this.errorList = []; + this.errorMap = {}; + this.toShow = $([]); + this.toHide = $([]); + this.currentElements = $([]); + }, + + prepareForm: function() { + this.reset(); + this.toHide = this.errors().add( this.containers ); + }, + + prepareElement: function( element ) { + this.reset(); + this.toHide = this.errorsFor(element); + }, + + check: function( element ) { + element = this.clean( element ); + + // if radio/checkbox, validate first element in group instead + if (this.checkable(element)) { + element = this.findByName( element.name ).not(this.settings.ignore)[0]; + } + + var rules = $(element).rules(); + var dependencyMismatch = false; + for (var method in rules ) { + var rule = { method: method, parameters: rules[method] }; + try { + var result = $.validator.methods[method].call( this, element.value.replace(/\r/g, ""), element, rule.parameters ); + + // if a method indicates that the field is optional and therefore valid, + // don't mark it as valid when there are no other rules + if ( result == "dependency-mismatch" ) { + dependencyMismatch = true; + continue; + } + dependencyMismatch = false; + + if ( result == "pending" ) { + this.toHide = this.toHide.not( this.errorsFor(element) ); + return; + } + + if( !result ) { + this.formatAndAdd( element, rule ); + return false; + } + } catch(e) { + this.settings.debug && window.console && console.log("exception occured when checking element " + element.id + + ", check the '" + rule.method + "' method", e); + throw e; + } + } + if (dependencyMismatch) + return; + if ( this.objectLength(rules) ) + this.successList.push(element); + return true; + }, + + // return the custom message for the given element and validation method + // specified in the element's "messages" metadata + customMetaMessage: function(element, method) { + if (!$.metadata) + return; + + var meta = this.settings.meta + ? $(element).metadata()[this.settings.meta] + : $(element).metadata(); + + return meta && meta.messages && meta.messages[method]; + }, + + // return the custom message for the given element name and validation method + customMessage: function( name, method ) { + var m = this.settings.messages[name]; + return m && (m.constructor == String + ? m + : m[method]); + }, + + // return the first defined argument, allowing empty strings + findDefined: function() { + for(var i = 0; i < arguments.length; i++) { + if (arguments[i] !== undefined) + return arguments[i]; + } + return undefined; + }, + + defaultMessage: function( element, method) { + return this.findDefined( + this.customMessage( element.name, method ), + this.customMetaMessage( element, method ), + // title is never undefined, so handle empty string as undefined + !this.settings.ignoreTitle && element.title || undefined, + $.validator.messages[method], + "Warning: No message defined for " + element.name + "" + ); + }, + + formatAndAdd: function( element, rule ) { + var message = this.defaultMessage( element, rule.method ), + theregex = /\$?\{(\d+)\}/g; + if ( typeof message == "function" ) { + message = message.call(this, rule.parameters, element); + } else if (theregex.test(message)) { + message = jQuery.format(message.replace(theregex, '{$1}'), rule.parameters); + } + this.errorList.push({ + message: message, + element: element + }); + + this.errorMap[element.name] = message; + this.submitted[element.name] = message; + }, + + addWrapper: function(toToggle) { + if ( this.settings.wrapper ) + toToggle = toToggle.add( toToggle.parent( this.settings.wrapper ) ); + return toToggle; + }, + + defaultShowErrors: function() { + for ( var i = 0; this.errorList[i]; i++ ) { + var error = this.errorList[i]; + this.settings.highlight && this.settings.highlight.call( this, error.element, this.settings.errorClass, this.settings.validClass ); + this.showLabel( error.element, error.message ); + } + if( this.errorList.length ) { + this.toShow = this.toShow.add( this.containers ); + } + if (this.settings.success) { + for ( var i = 0; this.successList[i]; i++ ) { + this.showLabel( this.successList[i] ); + } + } + if (this.settings.unhighlight) { + for ( var i = 0, elements = this.validElements(); elements[i]; i++ ) { + this.settings.unhighlight.call( this, elements[i], this.settings.errorClass, this.settings.validClass ); + } + } + this.toHide = this.toHide.not( this.toShow ); + this.hideErrors(); + this.addWrapper( this.toShow ).show(); + }, + + validElements: function() { + return this.currentElements.not(this.invalidElements()); + }, + + invalidElements: function() { + return $(this.errorList).map(function() { + return this.element; + }); + }, + + showLabel: function(element, message) { + var label = this.errorsFor( element ); + if ( label.length ) { + // refresh error/success class + label.removeClass().addClass( this.settings.errorClass ); + + // check if we have a generated label, replace the message then + label.attr("generated") && label.html(message); + } else { + // create label + label = $("<" + this.settings.errorElement + "/>") + .attr({"for": this.idOrName(element), generated: true}) + .addClass(this.settings.errorClass) + .html(message || ""); + if ( this.settings.wrapper ) { + // make sure the element is visible, even in IE + // actually showing the wrapped element is handled elsewhere + label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent(); + } + if ( !this.labelContainer.append(label).length ) + this.settings.errorPlacement + ? this.settings.errorPlacement(label, $(element) ) + : label.insertAfter(element); + } + if ( !message && this.settings.success ) { + label.text(""); + typeof this.settings.success == "string" + ? label.addClass( this.settings.success ) + : this.settings.success( label ); + } + this.toShow = this.toShow.add(label); + }, + + errorsFor: function(element) { + var name = this.idOrName(element); + return this.errors().filter(function() { + return $(this).attr('for') == name; + }); + }, + + idOrName: function(element) { + return this.groups[element.name] || (this.checkable(element) ? element.name : element.id || element.name); + }, + + checkable: function( element ) { + return /radio|checkbox/i.test(element.type); + }, + + findByName: function( name ) { + // select by name and filter by form for performance over form.find("[name=...]") + var form = this.currentForm; + return $(document.getElementsByName(name)).map(function(index, element) { + return element.form == form && element.name == name && element || null; + }); + }, + + getLength: function(value, element) { + switch( element.nodeName.toLowerCase() ) { + case 'select': + return $("option:selected", element).length; + case 'input': + if( this.checkable( element) ) + return this.findByName(element.name).filter(':checked').length; + } + return value.length; + }, + + depend: function(param, element) { + return this.dependTypes[typeof param] + ? this.dependTypes[typeof param](param, element) + : true; + }, + + dependTypes: { + "boolean": function(param, element) { + return param; + }, + "string": function(param, element) { + return !!$(param, element.form).length; + }, + "function": function(param, element) { + return param(element); + } + }, + + optional: function(element) { + return !$.validator.methods.required.call(this, $.trim(element.value), element) && "dependency-mismatch"; + }, + + startRequest: function(element) { + if (!this.pending[element.name]) { + this.pendingRequest++; + this.pending[element.name] = true; + } + }, + + stopRequest: function(element, valid) { + this.pendingRequest--; + // sometimes synchronization fails, make sure pendingRequest is never < 0 + if (this.pendingRequest < 0) + this.pendingRequest = 0; + delete this.pending[element.name]; + if ( valid && this.pendingRequest == 0 && this.formSubmitted && this.form() ) { + $(this.currentForm).submit(); + this.formSubmitted = false; + } else if (!valid && this.pendingRequest == 0 && this.formSubmitted) { + $(this.currentForm).triggerHandler("invalid-form", [this]); + this.formSubmitted = false; + } + }, + + previousValue: function(element) { + return $.data(element, "previousValue") || $.data(element, "previousValue", { + old: null, + valid: true, + message: this.defaultMessage( element, "remote" ) + }); + } + + }, + + classRuleSettings: { + required: {required: true}, + email: {email: true}, + url: {url: true}, + date: {date: true}, + dateISO: {dateISO: true}, + dateDE: {dateDE: true}, + number: {number: true}, + numberDE: {numberDE: true}, + digits: {digits: true}, + creditcard: {creditcard: true} + }, + + addClassRules: function(className, rules) { + className.constructor == String ? + this.classRuleSettings[className] = rules : + $.extend(this.classRuleSettings, className); + }, + + classRules: function(element) { + var rules = {}; + var classes = $(element).attr('class'); + classes && $.each(classes.split(' '), function() { + if (this in $.validator.classRuleSettings) { + $.extend(rules, $.validator.classRuleSettings[this]); + } + }); + return rules; + }, + + attributeRules: function(element) { + var rules = {}; + var $element = $(element); + + for (var method in $.validator.methods) { + var value = $element.attr(method); + if (value) { + rules[method] = value; + } + } + + // maxlength may be returned as -1, 2147483647 (IE) and 524288 (safari) for text inputs + if (rules.maxlength && /-1|2147483647|524288/.test(rules.maxlength)) { + delete rules.maxlength; + } + + return rules; + }, + + metadataRules: function(element) { + if (!$.metadata) return {}; + + var meta = $.data(element.form, 'validator').settings.meta; + return meta ? + $(element).metadata()[meta] : + $(element).metadata(); + }, + + staticRules: function(element) { + var rules = {}; + var validator = $.data(element.form, 'validator'); + if (validator.settings.rules) { + rules = $.validator.normalizeRule(validator.settings.rules[element.name]) || {}; + } + return rules; + }, + + normalizeRules: function(rules, element) { + // handle dependency check + $.each(rules, function(prop, val) { + // ignore rule when param is explicitly false, eg. required:false + if (val === false) { + delete rules[prop]; + return; + } + if (val.param || val.depends) { + var keepRule = true; + switch (typeof val.depends) { + case "string": + keepRule = !!$(val.depends, element.form).length; + break; + case "function": + keepRule = val.depends.call(element, element); + break; + } + if (keepRule) { + rules[prop] = val.param !== undefined ? val.param : true; + } else { + delete rules[prop]; + } + } + }); + + // evaluate parameters + $.each(rules, function(rule, parameter) { + rules[rule] = $.isFunction(parameter) ? parameter(element) : parameter; + }); + + // clean number parameters + $.each(['minlength', 'maxlength', 'min', 'max'], function() { + if (rules[this]) { + rules[this] = Number(rules[this]); + } + }); + $.each(['rangelength', 'range'], function() { + if (rules[this]) { + rules[this] = [Number(rules[this][0]), Number(rules[this][1])]; + } + }); + + if ($.validator.autoCreateRanges) { + // auto-create ranges + if (rules.min && rules.max) { + rules.range = [rules.min, rules.max]; + delete rules.min; + delete rules.max; + } + if (rules.minlength && rules.maxlength) { + rules.rangelength = [rules.minlength, rules.maxlength]; + delete rules.minlength; + delete rules.maxlength; + } + } + + // To support custom messages in metadata ignore rule methods titled "messages" + if (rules.messages) { + delete rules.messages; + } + + return rules; + }, + + // Converts a simple string to a {string: true} rule, e.g., "required" to {required:true} + normalizeRule: function(data) { + if( typeof data == "string" ) { + var transformed = {}; + $.each(data.split(/\s/), function() { + transformed[this] = true; + }); + data = transformed; + } + return data; + }, + + // http://docs.jquery.com/Plugins/Validation/Validator/addMethod + addMethod: function(name, method, message) { + $.validator.methods[name] = method; + $.validator.messages[name] = message != undefined ? message : $.validator.messages[name]; + if (method.length < 3) { + $.validator.addClassRules(name, $.validator.normalizeRule(name)); + } + }, + + methods: { + + // http://docs.jquery.com/Plugins/Validation/Methods/required + required: function(value, element, param) { + // check if dependency is met + if ( !this.depend(param, element) ) + return "dependency-mismatch"; + switch( element.nodeName.toLowerCase() ) { + case 'select': + // could be an array for select-multiple or a string, both are fine this way + var val = $(element).val(); + return val && val.length > 0; + case 'input': + if ( this.checkable(element) ) + return this.getLength(value, element) > 0; + default: + return $.trim(value).length > 0; + } + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/remote + remote: function(value, element, param) { + if ( this.optional(element) ) + return "dependency-mismatch"; + + var previous = this.previousValue(element); + if (!this.settings.messages[element.name] ) + this.settings.messages[element.name] = {}; + previous.originalMessage = this.settings.messages[element.name].remote; + this.settings.messages[element.name].remote = previous.message; + + param = typeof param == "string" && {url:param} || param; + + if ( this.pending[element.name] ) { + return "pending"; + } + if ( previous.old === value ) { + return previous.valid; + } + + previous.old = value; + var validator = this; + this.startRequest(element); + var data = {}; + data[element.name] = value; + $.ajax($.extend(true, { + url: param, + mode: "abort", + port: "validate" + element.name, + dataType: "json", + data: data, + success: function(response) { + validator.settings.messages[element.name].remote = previous.originalMessage; + var valid = response === true; + if ( valid ) { + var submitted = validator.formSubmitted; + validator.prepareElement(element); + validator.formSubmitted = submitted; + validator.successList.push(element); + validator.showErrors(); + } else { + var errors = {}; + var message = response || validator.defaultMessage( element, "remote" ); + errors[element.name] = previous.message = $.isFunction(message) ? message(value) : message; + validator.showErrors(errors); + } + previous.valid = valid; + validator.stopRequest(element, valid); + } + }, param)); + return "pending"; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/minlength + minlength: function(value, element, param) { + return this.optional(element) || this.getLength($.trim(value), element) >= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/maxlength + maxlength: function(value, element, param) { + return this.optional(element) || this.getLength($.trim(value), element) <= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/rangelength + rangelength: function(value, element, param) { + var length = this.getLength($.trim(value), element); + return this.optional(element) || ( length >= param[0] && length <= param[1] ); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/min + min: function( value, element, param ) { + return this.optional(element) || value >= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/max + max: function( value, element, param ) { + return this.optional(element) || value <= param; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/range + range: function( value, element, param ) { + return this.optional(element) || ( value >= param[0] && value <= param[1] ); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/email + email: function(value, element) { + // contributed by Scott Gonzalez: http://projects.scottsplayground.com/email_address_validation/ + return this.optional(element) || /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/url + url: function(value, element) { + // contributed by Scott Gonzalez: http://projects.scottsplayground.com/iri/ + return this.optional(element) || /^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/date + date: function(value, element) { + return this.optional(element) || !/Invalid|NaN/.test(new Date(value)); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/dateISO + dateISO: function(value, element) { + return this.optional(element) || /^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/number + number: function(value, element) { + return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/digits + digits: function(value, element) { + return this.optional(element) || /^\d+$/.test(value); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/creditcard + // based on http://en.wikipedia.org/wiki/Luhn + creditcard: function(value, element) { + if ( this.optional(element) ) + return "dependency-mismatch"; + // accept only digits and dashes + if (/[^0-9-]+/.test(value)) + return false; + var nCheck = 0, + nDigit = 0, + bEven = false; + + value = value.replace(/\D/g, ""); + + for (var n = value.length - 1; n >= 0; n--) { + var cDigit = value.charAt(n); + var nDigit = parseInt(cDigit, 10); + if (bEven) { + if ((nDigit *= 2) > 9) + nDigit -= 9; + } + nCheck += nDigit; + bEven = !bEven; + } + + return (nCheck % 10) == 0; + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/accept + accept: function(value, element, param) { + param = typeof param == "string" ? param.replace(/,/g, '|') : "png|jpe?g|gif"; + return this.optional(element) || value.match(new RegExp(".(" + param + ")$", "i")); + }, + + // http://docs.jquery.com/Plugins/Validation/Methods/equalTo + equalTo: function(value, element, param) { + // bind to the blur event of the target in order to revalidate whenever the target field is updated + // TODO find a way to bind the event just once, avoiding the unbind-rebind overhead + var target = $(param).unbind(".validate-equalTo").bind("blur.validate-equalTo", function() { + $(element).valid(); + }); + return value == target.val(); + } + + } + +}); + +// deprecated, use $.validator.format instead +$.format = $.validator.format; + +})(jQuery); + +// ajax mode: abort +// usage: $.ajax({ mode: "abort"[, port: "uniqueport"]}); +// if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort() +;(function($) { + var pendingRequests = {}; + // Use a prefilter if available (1.5+) + if ( $.ajaxPrefilter ) { + $.ajaxPrefilter(function(settings, _, xhr) { + var port = settings.port; + if (settings.mode == "abort") { + if ( pendingRequests[port] ) { + pendingRequests[port].abort(); + } + pendingRequests[port] = xhr; + } + }); + } else { + // Proxy ajax + var ajax = $.ajax; + $.ajax = function(settings) { + var mode = ( "mode" in settings ? settings : $.ajaxSettings ).mode, + port = ( "port" in settings ? settings : $.ajaxSettings ).port; + if (mode == "abort") { + if ( pendingRequests[port] ) { + pendingRequests[port].abort(); + } + return (pendingRequests[port] = ajax.apply(this, arguments)); + } + return ajax.apply(this, arguments); + }; + } +})(jQuery); + +// provides cross-browser focusin and focusout events +// IE has native support, in other browsers, use event caputuring (neither bubbles) + +// provides delegate(type: String, delegate: Selector, handler: Callback) plugin for easier event delegation +// handler is only called when $(event.target).is(delegate), in the scope of the jquery-object for event.target +;(function($) { + // only implement if not provided by jQuery core (since 1.4) + // TODO verify if jQuery 1.4's implementation is compatible with older jQuery special-event APIs + if (!jQuery.event.special.focusin && !jQuery.event.special.focusout && document.addEventListener) { + $.each({ + focus: 'focusin', + blur: 'focusout' + }, function( original, fix ){ + $.event.special[fix] = { + setup:function() { + this.addEventListener( original, handler, true ); + }, + teardown:function() { + this.removeEventListener( original, handler, true ); + }, + handler: function(e) { + arguments[0] = $.event.fix(e); + arguments[0].type = fix; + return $.event.handle.apply(this, arguments); + } + }; + function handler(e) { + e = $.event.fix(e); + e.type = fix; + return $.event.handle.call(this, e); + } + }); + }; + $.extend($.fn, { + validateDelegate: function(delegate, type, handler) { + return this.bind(type, function(event) { + var target = $(event.target); + if (target.is(delegate)) { + return handler.apply(target, arguments); + } + }); + } + }); +})(jQuery); diff --git a/CharityPortal/CharityPortal/Scripts/jquery.validate.min.js b/CharityPortal/CharityPortal/Scripts/jquery.validate.min.js new file mode 100644 index 0000000..b07c2ab --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery.validate.min.js @@ -0,0 +1,53 @@ +/** +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery Validation Plugin 1.8.0 +* +* http://bassistance.de/jquery-plugins/jquery-plugin-validation/ +* http://docs.jquery.com/Plugins/Validation +* +* Copyright (c) 2006 - 2011 Jörn Zaefferer +*/ +(function(c){c.extend(c.fn,{validate:function(a){if(this.length){var b=c.data(this[0],"validator");if(b)return b;b=new c.validator(a,this[0]);c.data(this[0],"validator",b);if(b.settings.onsubmit){this.find("input, button").filter(".cancel").click(function(){b.cancelSubmit=true});b.settings.submitHandler&&this.find("input, button").filter(":submit").click(function(){b.submitButton=this});this.submit(function(d){function e(){if(b.settings.submitHandler){if(b.submitButton)var f=c("").attr("name", +b.submitButton.name).val(b.submitButton.value).appendTo(b.currentForm);b.settings.submitHandler.call(b,b.currentForm);b.submitButton&&f.remove();return false}return true}b.settings.debug&&d.preventDefault();if(b.cancelSubmit){b.cancelSubmit=false;return e()}if(b.form()){if(b.pendingRequest){b.formSubmitted=true;return false}return e()}else{b.focusInvalid();return false}})}return b}else a&&a.debug&&window.console&&console.warn("nothing selected, can't validate, returning nothing")},valid:function(){if(c(this[0]).is("form"))return this.validate().form(); +else{var a=true,b=c(this[0].form).validate();this.each(function(){a&=b.element(this)});return a}},removeAttrs:function(a){var b={},d=this;c.each(a.split(/\s/),function(e,f){b[f]=d.attr(f);d.removeAttr(f)});return b},rules:function(a,b){var d=this[0];if(a){var e=c.data(d.form,"validator").settings,f=e.rules,g=c.validator.staticRules(d);switch(a){case "add":c.extend(g,c.validator.normalizeRule(b));f[d.name]=g;if(b.messages)e.messages[d.name]=c.extend(e.messages[d.name],b.messages);break;case "remove":if(!b){delete f[d.name]; +return g}var h={};c.each(b.split(/\s/),function(j,i){h[i]=g[i];delete g[i]});return h}}d=c.validator.normalizeRules(c.extend({},c.validator.metadataRules(d),c.validator.classRules(d),c.validator.attributeRules(d),c.validator.staticRules(d)),d);if(d.required){e=d.required;delete d.required;d=c.extend({required:e},d)}return d}});c.extend(c.expr[":"],{blank:function(a){return!c.trim(""+a.value)},filled:function(a){return!!c.trim(""+a.value)},unchecked:function(a){return!a.checked}});c.validator=function(a, +b){this.settings=c.extend(true,{},c.validator.defaults,a);this.currentForm=b;this.init()};c.validator.format=function(a,b){if(arguments.length==1)return function(){var d=c.makeArray(arguments);d.unshift(a);return c.validator.format.apply(this,d)};if(arguments.length>2&&b.constructor!=Array)b=c.makeArray(arguments).slice(1);if(b.constructor!=Array)b=[b];c.each(b,function(d,e){a=a.replace(RegExp("\\{"+d+"\\}","g"),e)});return a};c.extend(c.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error", +validClass:"valid",errorElement:"label",focusInvalid:true,errorContainer:c([]),errorLabelContainer:c([]),onsubmit:true,ignore:[],ignoreTitle:false,onfocusin:function(a){this.lastActive=a;if(this.settings.focusCleanup&&!this.blockFocusCleanup){this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass);this.addWrapper(this.errorsFor(a)).hide()}},onfocusout:function(a){if(!this.checkable(a)&&(a.name in this.submitted||!this.optional(a)))this.element(a)}, +onkeyup:function(a){if(a.name in this.submitted||a==this.lastElement)this.element(a)},onclick:function(a){if(a.name in this.submitted)this.element(a);else a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(a,b,d){c(a).addClass(b).removeClass(d)},unhighlight:function(a,b,d){c(a).removeClass(b).addClass(d)}},setDefaults:function(a){c.extend(c.validator.defaults,a)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.", +url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date (ISO).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",accept:"Please enter a value with a valid extension.",maxlength:c.validator.format("Please enter no more than {0} characters."),minlength:c.validator.format("Please enter at least {0} characters."),rangelength:c.validator.format("Please enter a value between {0} and {1} characters long."), +range:c.validator.format("Please enter a value between {0} and {1}."),max:c.validator.format("Please enter a value less than or equal to {0}."),min:c.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:false,prototype:{init:function(){function a(e){var f=c.data(this[0].form,"validator");e="on"+e.type.replace(/^validate/,"");f.settings[e]&&f.settings[e].call(f,this[0])}this.labelContainer=c(this.settings.errorLabelContainer);this.errorContext=this.labelContainer.length&& +this.labelContainer||c(this.currentForm);this.containers=c(this.settings.errorContainer).add(this.settings.errorLabelContainer);this.submitted={};this.valueCache={};this.pendingRequest=0;this.pending={};this.invalid={};this.reset();var b=this.groups={};c.each(this.settings.groups,function(e,f){c.each(f.split(/\s/),function(g,h){b[h]=e})});var d=this.settings.rules;c.each(d,function(e,f){d[e]=c.validator.normalizeRule(f)});c(this.currentForm).validateDelegate(":text, :password, :file, select, textarea", +"focusin focusout keyup",a).validateDelegate(":radio, :checkbox, select, option","click",a);this.settings.invalidHandler&&c(this.currentForm).bind("invalid-form.validate",this.settings.invalidHandler)},form:function(){this.checkForm();c.extend(this.submitted,this.errorMap);this.invalid=c.extend({},this.errorMap);this.valid()||c(this.currentForm).triggerHandler("invalid-form",[this]);this.showErrors();return this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]); +return this.valid()},element:function(a){this.lastElement=a=this.clean(a);this.prepareElement(a);this.currentElements=c(a);var b=this.check(a);if(b)delete this.invalid[a.name];else this.invalid[a.name]=true;if(!this.numberOfInvalids())this.toHide=this.toHide.add(this.containers);this.showErrors();return b},showErrors:function(a){if(a){c.extend(this.errorMap,a);this.errorList=[];for(var b in a)this.errorList.push({message:a[b],element:this.findByName(b)[0]});this.successList=c.grep(this.successList, +function(d){return!(d.name in a)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){c.fn.resetForm&&c(this.currentForm).resetForm();this.submitted={};this.prepareForm();this.hideErrors();this.elements().removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b=0,d;for(d in a)b++;return b},hideErrors:function(){this.addWrapper(this.toHide).hide()}, +valid:function(){return this.size()==0},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{c(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(a){}},findLastActive:function(){var a=this.lastActive;return a&&c.grep(this.errorList,function(b){return b.element.name==a.name}).length==1&&a},elements:function(){var a=this,b={};return c([]).add(this.currentForm.elements).filter(":input").not(":submit, :reset, :image, [disabled]").not(this.settings.ignore).filter(function(){!this.name&& +a.settings.debug&&window.console&&console.error("%o has no name assigned",this);if(this.name in b||!a.objectLength(c(this).rules()))return false;return b[this.name]=true})},clean:function(a){return c(a)[0]},errors:function(){return c(this.settings.errorElement+"."+this.settings.errorClass,this.errorContext)},reset:function(){this.successList=[];this.errorList=[];this.errorMap={};this.toShow=c([]);this.toHide=c([]);this.currentElements=c([])},prepareForm:function(){this.reset();this.toHide=this.errors().add(this.containers)}, +prepareElement:function(a){this.reset();this.toHide=this.errorsFor(a)},check:function(a){a=this.clean(a);if(this.checkable(a))a=this.findByName(a.name).not(this.settings.ignore)[0];var b=c(a).rules(),d=false,e;for(e in b){var f={method:e,parameters:b[e]};try{var g=c.validator.methods[e].call(this,a.value.replace(/\r/g,""),a,f.parameters);if(g=="dependency-mismatch")d=true;else{d=false;if(g=="pending"){this.toHide=this.toHide.not(this.errorsFor(a));return}if(!g){this.formatAndAdd(a,f);return false}}}catch(h){this.settings.debug&& +window.console&&console.log("exception occured when checking element "+a.id+", check the '"+f.method+"' method",h);throw h;}}if(!d){this.objectLength(b)&&this.successList.push(a);return true}},customMetaMessage:function(a,b){if(c.metadata){var d=this.settings.meta?c(a).metadata()[this.settings.meta]:c(a).metadata();return d&&d.messages&&d.messages[b]}},customMessage:function(a,b){var d=this.settings.messages[a];return d&&(d.constructor==String?d:d[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+a.name+"")},formatAndAdd:function(a,b){var d=this.defaultMessage(a,b.method),e=/\$?\{(\d+)\}/g;if(typeof d=="function")d=d.call(this,b.parameters,a);else if(e.test(d))d=jQuery.format(d.replace(e,"{$1}"),b.parameters);this.errorList.push({message:d, +element:a});this.errorMap[a.name]=d;this.submitted[a.name]=d},addWrapper:function(a){if(this.settings.wrapper)a=a.add(a.parent(this.settings.wrapper));return a},defaultShowErrors:function(){for(var a=0;this.errorList[a];a++){var b=this.errorList[a];this.settings.highlight&&this.settings.highlight.call(this,b.element,this.settings.errorClass,this.settings.validClass);this.showLabel(b.element,b.message)}if(this.errorList.length)this.toShow=this.toShow.add(this.containers);if(this.settings.success)for(a= +0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight){a=0;for(b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass)}this.toHide=this.toHide.not(this.toShow);this.hideErrors();this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return c(this.errorList).map(function(){return this.element})},showLabel:function(a, +b){var d=this.errorsFor(a);if(d.length){d.removeClass().addClass(this.settings.errorClass);d.attr("generated")&&d.html(b)}else{d=c("<"+this.settings.errorElement+"/>").attr({"for":this.idOrName(a),generated:true}).addClass(this.settings.errorClass).html(b||"");if(this.settings.wrapper)d=d.hide().show().wrap("<"+this.settings.wrapper+"/>").parent();this.labelContainer.append(d).length||(this.settings.errorPlacement?this.settings.errorPlacement(d,c(a)):d.insertAfter(a))}if(!b&&this.settings.success){d.text(""); +typeof this.settings.success=="string"?d.addClass(this.settings.success):this.settings.success(d)}this.toShow=this.toShow.add(d)},errorsFor:function(a){var b=this.idOrName(a);return this.errors().filter(function(){return c(this).attr("for")==b})},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(a){var b=this.currentForm;return c(document.getElementsByName(a)).map(function(d,e){return e.form== +b&&e.name==a&&e||null})},getLength:function(a,b){switch(b.nodeName.toLowerCase()){case "select":return c("option:selected",b).length;case "input":if(this.checkable(b))return this.findByName(b.name).filter(":checked").length}return a.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):true},dependTypes:{"boolean":function(a){return a},string:function(a,b){return!!c(a,b.form).length},"function":function(a,b){return a(b)}},optional:function(a){return!c.validator.methods.required.call(this, +c.trim(a.value),a)&&"dependency-mismatch"},startRequest:function(a){if(!this.pending[a.name]){this.pendingRequest++;this.pending[a.name]=true}},stopRequest:function(a,b){this.pendingRequest--;if(this.pendingRequest<0)this.pendingRequest=0;delete this.pending[a.name];if(b&&this.pendingRequest==0&&this.formSubmitted&&this.form()){c(this.currentForm).submit();this.formSubmitted=false}else if(!b&&this.pendingRequest==0&&this.formSubmitted){c(this.currentForm).triggerHandler("invalid-form",[this]);this.formSubmitted= +false}},previousValue:function(a){return c.data(a,"previousValue")||c.data(a,"previousValue",{old:null,valid:true,message:this.defaultMessage(a,"remote")})}},classRuleSettings:{required:{required:true},email:{email:true},url:{url:true},date:{date:true},dateISO:{dateISO:true},dateDE:{dateDE:true},number:{number:true},numberDE:{numberDE:true},digits:{digits:true},creditcard:{creditcard:true}},addClassRules:function(a,b){a.constructor==String?this.classRuleSettings[a]=b:c.extend(this.classRuleSettings, +a)},classRules:function(a){var b={};(a=c(a).attr("class"))&&c.each(a.split(" "),function(){this in c.validator.classRuleSettings&&c.extend(b,c.validator.classRuleSettings[this])});return b},attributeRules:function(a){var b={};a=c(a);for(var d in c.validator.methods){var e=a.attr(d);if(e)b[d]=e}b.maxlength&&/-1|2147483647|524288/.test(b.maxlength)&&delete b.maxlength;return b},metadataRules:function(a){if(!c.metadata)return{};var b=c.data(a.form,"validator").settings.meta;return b?c(a).metadata()[b]: +c(a).metadata()},staticRules:function(a){var b={},d=c.data(a.form,"validator");if(d.settings.rules)b=c.validator.normalizeRule(d.settings.rules[a.name])||{};return b},normalizeRules:function(a,b){c.each(a,function(d,e){if(e===false)delete a[d];else if(e.param||e.depends){var f=true;switch(typeof e.depends){case "string":f=!!c(e.depends,b.form).length;break;case "function":f=e.depends.call(b,b)}if(f)a[d]=e.param!==undefined?e.param:true;else delete a[d]}});c.each(a,function(d,e){a[d]=c.isFunction(e)? +e(b):e});c.each(["minlength","maxlength","min","max"],function(){if(a[this])a[this]=Number(a[this])});c.each(["rangelength","range"],function(){if(a[this])a[this]=[Number(a[this][0]),Number(a[this][1])]});if(c.validator.autoCreateRanges){if(a.min&&a.max){a.range=[a.min,a.max];delete a.min;delete a.max}if(a.minlength&&a.maxlength){a.rangelength=[a.minlength,a.maxlength];delete a.minlength;delete a.maxlength}}a.messages&&delete a.messages;return a},normalizeRule:function(a){if(typeof a=="string"){var b= +{};c.each(a.split(/\s/),function(){b[this]=true});a=b}return a},addMethod:function(a,b,d){c.validator.methods[a]=b;c.validator.messages[a]=d!=undefined?d:c.validator.messages[a];b.length<3&&c.validator.addClassRules(a,c.validator.normalizeRule(a))},methods:{required:function(a,b,d){if(!this.depend(d,b))return"dependency-mismatch";switch(b.nodeName.toLowerCase()){case "select":return(a=c(b).val())&&a.length>0;case "input":if(this.checkable(b))return this.getLength(a,b)>0;default:return c.trim(a).length> +0}},remote:function(a,b,d){if(this.optional(b))return"dependency-mismatch";var e=this.previousValue(b);this.settings.messages[b.name]||(this.settings.messages[b.name]={});e.originalMessage=this.settings.messages[b.name].remote;this.settings.messages[b.name].remote=e.message;d=typeof d=="string"&&{url:d}||d;if(this.pending[b.name])return"pending";if(e.old===a)return e.valid;e.old=a;var f=this;this.startRequest(b);var g={};g[b.name]=a;c.ajax(c.extend(true,{url:d,mode:"abort",port:"validate"+b.name, +dataType:"json",data:g,success:function(h){f.settings.messages[b.name].remote=e.originalMessage;var j=h===true;if(j){var i=f.formSubmitted;f.prepareElement(b);f.formSubmitted=i;f.successList.push(b);f.showErrors()}else{i={};h=h||f.defaultMessage(b,"remote");i[b.name]=e.message=c.isFunction(h)?h(a):h;f.showErrors(i)}e.valid=j;f.stopRequest(b,j)}},d));return"pending"},minlength:function(a,b,d){return this.optional(b)||this.getLength(c.trim(a),b)>=d},maxlength:function(a,b,d){return this.optional(b)|| +this.getLength(c.trim(a),b)<=d},rangelength:function(a,b,d){a=this.getLength(c.trim(a),b);return this.optional(b)||a>=d[0]&&a<=d[1]},min:function(a,b,d){return this.optional(b)||a>=d},max:function(a,b,d){return this.optional(b)||a<=d},range:function(a,b,d){return this.optional(b)||a>=d[0]&&a<=d[1]},email:function(a,b){return this.optional(b)||/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i.test(a)}, +url:function(a,b){return this.optional(b)||/^(https?|ftp):\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i.test(a)}, +date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a))},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/-]\d{1,2}[\/-]\d{1,2}$/.test(a)},number:function(a,b){return this.optional(b)||/^-?(?:\d+|\d{1,3}(?:,\d{3})+)(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9-]+/.test(a))return false;var d=0,e=0,f=false;a=a.replace(/\D/g,"");for(var g=a.length-1;g>= +0;g--){e=a.charAt(g);e=parseInt(e,10);if(f)if((e*=2)>9)e-=9;d+=e;f=!f}return d%10==0},accept:function(a,b,d){d=typeof d=="string"?d.replace(/,/g,"|"):"png|jpe?g|gif";return this.optional(b)||a.match(RegExp(".("+d+")$","i"))},equalTo:function(a,b,d){d=c(d).unbind(".validate-equalTo").bind("blur.validate-equalTo",function(){c(b).valid()});return a==d.val()}}});c.format=c.validator.format})(jQuery); +(function(c){var a={};if(c.ajaxPrefilter)c.ajaxPrefilter(function(d,e,f){e=d.port;if(d.mode=="abort"){a[e]&&a[e].abort();a[e]=f}});else{var b=c.ajax;c.ajax=function(d){var e=("port"in d?d:c.ajaxSettings).port;if(("mode"in d?d:c.ajaxSettings).mode=="abort"){a[e]&&a[e].abort();return a[e]=b.apply(this,arguments)}return b.apply(this,arguments)}}})(jQuery); +(function(c){!jQuery.event.special.focusin&&!jQuery.event.special.focusout&&document.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.handle.call(this,e)}c.event.special[b]={setup:function(){this.addEventListener(a,d,true)},teardown:function(){this.removeEventListener(a,d,true)},handler:function(e){arguments[0]=c.event.fix(e);arguments[0].type=b;return c.event.handle.apply(this,arguments)}}});c.extend(c.fn,{validateDelegate:function(a, +b,d){return this.bind(b,function(e){var f=c(e.target);if(f.is(a))return d.apply(f,arguments)})}})})(jQuery); diff --git a/CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.js b/CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.js new file mode 100644 index 0000000..fcad841 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.js @@ -0,0 +1,319 @@ +/// +/// + +/*! +** Unobtrusive validation support library for jQuery and jQuery Validate +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ + +/*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 ($) { + 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 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='" + inputElement[0].name + "']"), + replace = $.parseJSON(container.attr("data-valmsg-replace")) !== false; + + 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(form, 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 () { + $("
    • ").html(this.message).appendTo(list); + }); + } + } + + function onSuccess(error) { // 'this' is the form element + var container = error.data("unobtrusiveContainer"), + replace = $.parseJSON(container.attr("data-valmsg-replace")); + + if (container) { + container.addClass("field-validation-valid").removeClass("field-validation-error"); + error.removeData("unobtrusiveContainer"); + + if (replace) { + container.empty(); + } + } + } + + function validationInfo(form) { + var $form = $(form), + result = $form.data(data_validation); + + if (!result) { + result = { + options: { // options structure passed to jQuery Validate's validate() method + errorClass: "input-validation-error", + errorElement: "span", + errorPlacement: $.proxy(onError, form), + invalidHandler: $.proxy(onErrors, form), + messages: {}, + rules: {}, + success: $.proxy(onSuccess, form) + }, + attachValidation: function () { + $form.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) { + /// + /// Parses a single HTML element for unobtrusive validation attributes. + /// + /// The HTML element to be parsed. + /// [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. + 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 + }); + } + }); + + jQuery.extend(rules, { "__dummy__": true }); + + if (!skipAttach) { + valInfo.attachValidation(); + } + }, + + parse: function (selector) { + /// + /// 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. + /// + /// Any valid jQuery selector. + $(selector).find(":input[data-val=true]").each(function () { + $jQval.unobtrusive.parseElement(this, true); + }); + + $("form").each(function () { + var info = validationInfo(this); + if (info) { + info.attachValidation(); + } + }); + } + }; + + adapters = $jQval.unobtrusive.adapters; + + adapters.add = function (adapterName, params, fn) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation. + /// 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). + /// [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). + /// The function to call, which adapts the values from the HTML + /// attributes into jQuery Validate rules and/or messages. + /// + 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) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation rule has no parameter values. + /// 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). + /// [Optional] The name of the jQuery Validate rule. If not provided, the value + /// of adapterName will be used instead. + /// + return this.add(adapterName, function (options) { + setValidationValues(options, ruleName || adapterName, true); + }); + }; + + adapters.addMinMax = function (adapterName, minRuleName, maxRuleName, minMaxRuleName, minAttribute, maxAttribute) { + /// 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. + /// 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). + /// The name of the jQuery Validate rule to be used when you only + /// have a minimum value. + /// The name of the jQuery Validate rule to be used when you only + /// have a maximum value. + /// The name of the jQuery Validate rule to be used when you + /// have both a minimum and maximum value. + /// [Optional] The name of the HTML attribute that + /// contains the minimum value. The default is "min". + /// [Optional] The name of the HTML attribute that + /// contains the maximum value. The default is "max". + /// + 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) { + /// Adds a new adapter to convert unobtrusive HTML into a jQuery Validate validation, where + /// the jQuery Validate validation rule has a single value. + /// 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). + /// [Optional] The name of the HTML attribute that contains the value. + /// The default is "val". + /// [Optional] The name of the jQuery Validate rule. If not provided, the value + /// of adapterName will be used instead. + /// + 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)); + }); + + adapters.addSingleVal("accept", "exts").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.add("equalto", ["other"], function (options) { + var prefix = getModelPrefix(options.element.name), + other = options.params.other, + fullOtherName = appendModelPrefix(other, prefix), + element = $(options.form).find(":input[name=" + 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 () { + return $(options.form).find(":input[name='" + paramName + "']").val(); + }; + }); + + setValidationValues(options, "remote", value); + }); + + $(function () { + $jQval.unobtrusive.parse(document); + }); +}(jQuery)); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.min.js b/CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.min.js new file mode 100644 index 0000000..e0d8fd5 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/jquery.validate.unobtrusive.min.js @@ -0,0 +1,5 @@ +/* +** Unobtrusive validation support library for jQuery and jQuery Validate +** Copyright (C) Microsoft Corporation. All rights reserved. +*/ +(function(a){var d=a.validator,b,f="unobtrusiveValidation";function c(a,b,c){a.rules[b]=c;if(a.message)a.messages[b]=a.message}function i(a){return a.replace(/^\s+|\s+$/g,"").split(/\s*,\s*/g)}function g(a){return a.substr(0,a.lastIndexOf(".")+1)}function e(a,b){if(a.indexOf("*.")===0)a=a.replace("*.",b);return a}function l(c,d){var b=a(this).find("[data-valmsg-for='"+d[0].name+"']"),e=a.parseJSON(b.attr("data-valmsg-replace"))!==false;b.removeClass("field-validation-valid").addClass("field-validation-error");c.data("unobtrusiveContainer",b);if(e){b.empty();c.removeClass("input-validation-error").appendTo(b)}else c.hide()}function k(e,d){var c=a(this).find("[data-valmsg-summary=true]"),b=c.find("ul");if(b&&b.length&&d.errorList.length){b.empty();c.addClass("validation-summary-errors").removeClass("validation-summary-valid");a.each(d.errorList,function(){a("
    • ").html(this.message).appendTo(b)})}}function j(c){var b=c.data("unobtrusiveContainer"),d=a.parseJSON(b.attr("data-valmsg-replace"));if(b){b.addClass("field-validation-valid").removeClass("field-validation-error");c.removeData("unobtrusiveContainer");d&&b.empty()}}function h(d){var b=a(d),c=b.data(f);if(!c){c={options:{errorClass:"input-validation-error",errorElement:"span",errorPlacement:a.proxy(l,d),invalidHandler:a.proxy(k,d),messages:{},rules:{},success:a.proxy(j,d)},attachValidation:function(){b.validate(this.options)},validate:function(){b.validate();return b.valid()}};b.data(f,c)}return c}d.unobtrusive={adapters:[],parseElement:function(b,i){var d=a(b),f=d.parents("form")[0],c,e,g;if(!f)return;c=h(f);c.options.rules[b.name]=e={};c.options.messages[b.name]=g={};a.each(this.adapters,function(){var c="data-val-"+this.name,i=d.attr(c),h={};if(i!==undefined){c+="-";a.each(this.params,function(){h[this]=d.attr(c+this)});this.adapt({element:b,form:f,message:i,params:h,rules:e,messages:g})}});jQuery.extend(e,{__dummy__:true});!i&&c.attachValidation()},parse:function(b){a(b).find(":input[data-val=true]").each(function(){d.unobtrusive.parseElement(this,true)});a("form").each(function(){var a=h(this);a&&a.attachValidation()})}};b=d.unobtrusive.adapters;b.add=function(c,a,b){if(!b){b=a;a=[]}this.push({name:c,params:a,adapt:b});return this};b.addBool=function(a,b){return this.add(a,function(d){c(d,b||a,true)})};b.addMinMax=function(e,g,f,a,d,b){return this.add(e,[d||"min",b||"max"],function(b){var e=b.params.min,d=b.params.max;if(e&&d)c(b,a,[e,d]);else if(e)c(b,g,e);else d&&c(b,f,d)})};b.addSingleVal=function(a,b,d){return this.add(a,[b||"val"],function(e){c(e,d||a,e.params[b])})};d.addMethod("__dummy__",function(){return true});d.addMethod("regex",function(b,c,d){var a;if(this.optional(c))return true;a=(new RegExp(d)).exec(b);return a&&a.index===0&&a[0].length===b.length});b.addSingleVal("accept","exts").addSingleVal("regex","pattern");b.addBool("creditcard").addBool("date").addBool("digits").addBool("email").addBool("number").addBool("url");b.addMinMax("length","minlength","maxlength","rangelength").addMinMax("range","min","max","range");b.add("equalto",["other"],function(b){var h=g(b.element.name),i=b.params.other,d=e(i,h),f=a(b.form).find(":input[name="+d+"]")[0];c(b,"equalTo",f)});b.add("required",function(a){(a.element.tagName.toUpperCase()!=="INPUT"||a.element.type.toUpperCase()!=="CHECKBOX")&&c(a,"required",true)});b.add("remote",["url","type","additionalfields"],function(b){var d={url:b.params.url,type:b.params.type||"GET",data:{}},f=g(b.element.name);a.each(i(b.params.additionalfields||b.element.name),function(h,g){var c=e(g,f);d.data[c]=function(){return a(b.form).find(":input[name='"+c+"']").val()}});c(b,"remote",d)});a(function(){d.unobtrusive.parse(document)})})(jQuery); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/modernizr-1.7.js b/CharityPortal/CharityPortal/Scripts/modernizr-1.7.js new file mode 100644 index 0000000..7bc212a --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/modernizr-1.7.js @@ -0,0 +1,969 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* Modernizr v1.7 +* http://www.modernizr.com +* +* Developed by: +* - Faruk Ates http://farukat.es/ +* - Paul Irish http://paulirish.com/ +* +* Copyright (c) 2009-2011 +*/ + + +/* + * Modernizr is a script that detects native CSS3 and HTML5 features + * available in the current UA and provides an object containing all + * features with a true/false value, depending on whether the UA has + * native support for it or not. + * + * Modernizr will also add classes to the element of the page, + * one for each feature it detects. If the UA supports it, a class + * like "cssgradients" will be added. If not, the class name will be + * "no-cssgradients". This allows for simple if-conditionals in your + * CSS, giving you fine control over the look & feel of your website. + * + * @author Faruk Ates + * @author Paul Irish + * @copyright (c) 2009-2011 Faruk Ates. + * @contributor Ben Alman + */ + +window.Modernizr = (function(window,document,undefined){ + + var version = '1.7', + + ret = {}, + + /** + * !! DEPRECATED !! + * + * enableHTML5 is a private property for advanced use only. If enabled, + * it will make Modernizr.init() run through a brief while() loop in + * which it will create all HTML5 elements in the DOM to allow for + * styling them in Internet Explorer, which does not recognize any + * non-HTML4 elements unless created in the DOM this way. + * + * enableHTML5 is ON by default. + * + * The enableHTML5 toggle option is DEPRECATED as per 1.6, and will be + * replaced in 2.0 in lieu of the modular, configurable nature of 2.0. + */ + enableHTML5 = true, + + + docElement = document.documentElement, + docHead = document.head || document.getElementsByTagName('head')[0], + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement( mod ), + m_style = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem = document.createElement( 'input' ), + + smile = ':)', + + tostring = Object.prototype.toString, + + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- -khtml- '.split(' '), + + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft foregoes prefixes entirely <= IE8, but appears to + // use a lowercase `ms` instead of the correct `Ms` in IE9 + + // More here: http://github.com/Modernizr/Modernizr/issues/issue/21 + domPrefixes = 'Webkit Moz O ms Khtml'.split(' '), + + ns = {'svg': 'http://www.w3.org/2000/svg'}, + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + featurename, // used in testing loop + + + + // todo: consider using http://javascript.nwbox.com/CSSSupport/css-support.js instead + testMediaQuery = function(mq){ + + var st = document.createElement('style'), + div = document.createElement('div'), + ret; + + st.textContent = mq + '{#modernizr{height:3px}}'; + docHead.appendChild(st); + div.id = 'modernizr'; + docElement.appendChild(div); + + ret = div.offsetHeight === 3; + + st.parentNode.removeChild(st); + div.parentNode.removeChild(div); + + return !!ret; + + }, + + + /** + * isEventSupported determines if a given element supports the given event + * function from http://yura.thinkweb2.com/isEventSupported/ + */ + isEventSupported = (function(){ + + var TAGNAMES = { + 'select':'input','change':'input', + 'submit':'form','reset':'form', + 'error':'img','load':'img','abort':'img' + }; + + function isEventSupported(eventName, element) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = (eventName in element); + + if (!isSupported) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if (!element.setAttribute) { + element = document.createElement('div'); + } + if (element.setAttribute && element.removeAttribute) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if (!is(element[eventName], undefined)) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(); + + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + var _hasOwnProperty = ({}).hasOwnProperty, hasOwnProperty; + if (!is(_hasOwnProperty, undefined) && !is(_hasOwnProperty.call, undefined)) { + hasOwnProperty = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProperty = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], undefined)); + }; + } + + /** + * set_css applies given styles to the Modernizr DOM node. + */ + function set_css( str ) { + m_style.cssText = str; + } + + /** + * set_css_all extrapolates all vendor-specific css strings. + */ + function set_css_all( str1, str2 ) { + return set_css(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return (''+str).indexOf( substr ) !== -1; + } + + /** + * test_props is a generic CSS / DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + * A supported CSS property returns empty string when its not yet set. + */ + function test_props( props, callback ) { + for ( var i in props ) { + if ( m_style[ props[i] ] !== undefined && ( !callback || callback( props[i], modElem ) ) ) { + return true; + } + } + } + + /** + * test_props_all tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function test_props_all( prop, callback ) { + + var uc_prop = prop.charAt(0).toUpperCase() + prop.substr(1), + props = (prop + ' ' + domPrefixes.join(uc_prop + ' ') + uc_prop).split(' '); + + return !!test_props( props, callback ); + } + + + /** + * Tests + * ----- + */ + + tests['flexbox'] = function() { + /** + * set_prefixed_value_css sets the property of a specified element + * adding vendor prefixes to the VALUE of the property. + * @param {Element} element + * @param {string} property The property name. This will not be prefixed. + * @param {string} value The value of the property. This WILL be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_value_css(element, property, value, extra) { + property += ':'; + element.style.cssText = (property + prefixes.join(value + ';' + property)).slice(0, -property.length) + (extra || ''); + } + + /** + * set_prefixed_property_css sets the property of a specified element + * adding vendor prefixes to the NAME of the property. + * @param {Element} element + * @param {string} property The property name. This WILL be prefixed. + * @param {string} value The value of the property. This will not be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_property_css(element, property, value, extra) { + element.style.cssText = prefixes.join(property + ':' + value + ';') + (extra || ''); + } + + var c = document.createElement('div'), + elem = document.createElement('div'); + + set_prefixed_value_css(c, 'display', 'box', 'width:42px;padding:0;'); + set_prefixed_property_css(elem, 'box-flex', '1', 'width:10px;'); + + c.appendChild(elem); + docElement.appendChild(c); + + var ret = elem.offsetWidth === 42; + + c.removeChild(elem); + docElement.removeChild(c); + + return ret; + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // http://github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement( 'canvas' ); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(ret['canvas'] && is(document.createElement( 'canvas' ).getContext('2d').fillText, 'function')); + }; + + // This WebGL test false positives in FF depending on graphics hardware. But really it's quite impossible to know + // wether webgl will succeed until after you create the context. You might have hardware that can support + // a 100x100 webgl canvas, but will not support a 1000x1000 webgl canvas. So this feature inference is weak, + // but intentionally so. + tests['webgl'] = function(){ + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: http://crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: http://modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + + return ('ontouchstart' in window) || testMediaQuery('@media ('+prefixes.join('touch-enabled),(')+'modernizr)'); + + }; + + + /** + * geolocation tests for the new Geolocation API specification. + * This test is a standards compliant-only test; for more complete + * testing, including a Google Gears fallback, please see: + * http://code.google.com/p/geo-location-javascript/ + * or view a fallback solution using google's geo API: + * http://gist.github.com/366184 + */ + tests['geolocation'] = function() { + return !!navigator.geolocation; + }; + + // Per 1.6: + // This used to be Modernizr.crosswindowmessaging but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + // Web SQL database detection is tricky: + + // In chrome incognito mode, openDatabase is truthy, but using it will + // throw an exception: http://crbug.com/42380 + // We can create a dummy database, but there is no way to delete it afterwards. + + // Meanwhile, Safari users can get prompted on any database creation. + // If they do, any page with Modernizr will give them a prompt: + // http://github.com/Modernizr/Modernizr/issues/closed#issue/113 + + // We have chosen to allow the Chrome incognito false positive, so that Modernizr + // doesn't litter the web with these test databases. As a developer, you'll have + // to account for this gotcha yourself. + tests['websqldatabase'] = function() { + var result = !!window.openDatabase; + /* if (result){ + try { + result = !!openDatabase( mod + "testdb", "1.0", mod + "testdb", 2e4); + } catch(e) { + } + } */ + return result; + }; + + // Vendors have inconsistent prefixing with the experimental Indexed DB: + // - Firefox is shipping indexedDB in FF4 as moz_indexedDB + // - Webkit's implementation is accessible through webkitIndexedDB + // We test both styles. + tests['indexedDB'] = function(){ + for (var i = -1, len = domPrefixes.length; ++i < len; ){ + var prefix = domPrefixes[i].toLowerCase(); + if (window[prefix + '_indexedDB'] || window[prefix + 'IndexedDB']){ + return true; + } + } + return false; + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && ( document.documentMode === undefined || document.documentMode > 7 ); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + return isEventSupported('dragstart') && isEventSupported('drop'); + }; + + tests['websockets'] = function(){ + return ('WebSocket' in window); + }; + + + // http://css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + set_css( 'background-color:rgba(150,255,150,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + set_css('background-color:hsla(120,40%,100%,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ) || contains( m_style.backgroundColor, 'hsla' ); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + set_css( 'background:url(//:),url(//:),red url(//:)' ); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elem_style.background + + return new RegExp("(url\\s*\\(.*?){3}").test(m_style.background); + }; + + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + + tests['backgroundsize'] = function() { + return test_props_all( 'backgroundSize' ); + }; + + tests['borderimage'] = function() { + return test_props_all( 'borderImage' ); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: http://muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return test_props_all( 'borderRadius', '', function( prop ) { + return contains( prop, 'orderRadius' ); + }); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return test_props_all( 'boxShadow' ); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function(){ + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + set_css_all( 'opacity:.55' ); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // https://github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return /^0.55$/.test(m_style.opacity); + }; + + + tests['cssanimations'] = function() { + return test_props_all( 'animationName' ); + }; + + + tests['csscolumns'] = function() { + return test_props_all( 'columnCount' ); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * http://webkit.org/blog/175/introducing-css-gradients/ + * https://developer.mozilla.org/en/CSS/-moz-linear-gradient + * https://developer.mozilla.org/en/CSS/-moz-radial-gradient + * http://dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + set_css( + (str1 + prefixes.join(str2 + str1) + prefixes.join(str3 + str1)).slice(0,-str1.length) + ); + + return contains( m_style.backgroundImage, 'gradient' ); + }; + + + tests['cssreflections'] = function() { + return test_props_all( 'boxReflect' ); + }; + + + tests['csstransforms'] = function() { + return !!test_props([ 'transformProperty', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform' ]); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!test_props([ 'perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective' ]); + + // Webkit’s 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if (ret && 'webkitPerspective' in docElement.style){ + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-o-transform-3d),(-moz-transform-3d),(-ms-transform-3d),(-webkit-transform-3d),(modernizr){ ... }` + ret = testMediaQuery('@media ('+prefixes.join('transform-3d),(')+'modernizr)'); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return test_props_all( 'transitionProperty' ); + }; + + + // @font-face detection routine by Diego Perini + // http://javascript.nwbox.com/CSSSupport/ + tests['fontface'] = function(){ + + var + sheet, bool, + head = docHead || docElement, + style = document.createElement("style"), + impl = document.implementation || { hasFeature: function() { return false; } }; + + style.type = 'text/css'; + head.insertBefore(style, head.firstChild); + sheet = style.sheet || style.styleSheet; + + var supportAtRule = impl.hasFeature('CSS2', '') ? + function(rule) { + if (!(sheet && rule)) return false; + var result = false; + try { + sheet.insertRule(rule, 0); + result = (/src/i).test(sheet.cssRules[0].cssText); + sheet.deleteRule(sheet.cssRules.length - 1); + } catch(e) { } + return result; + } : + function(rule) { + if (!(sheet && rule)) return false; + sheet.cssText = rule; + + return sheet.cssText.length !== 0 && (/src/i).test(sheet.cssText) && + sheet.cssText + .replace(/\r+|\n+/g, '') + .indexOf(rule.split(' ')[0]) === 0; + }; + + bool = supportAtRule('@font-face { font-family: "font"; src: url(data:,); }'); + head.removeChild(style); + return bool; + }; + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : http://github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in FF 3.5.1 and 3.5.0, "no" was a return value instead of empty string. + // Modernizr does not normalize for that. + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"'); + + // Workaround required for IE9, which doesn't report video support without audio codec specified. + // bug 599718 @ msft connect + var h264 = 'video/mp4; codecs="avc1.42E01E'; + bool.h264 = elem.canPlayType(h264 + '"') || elem.canPlayType(h264 + ', mp4a.40.2"'); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"'); + } + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"'); + bool.mp3 = elem.canPlayType('audio/mpeg;'); + + // Mimetypes accepted: + // https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // http://bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"'); + bool.m4a = elem.canPlayType('audio/x-m4a;') || elem.canPlayType('audio/aac;'); + } + return bool; + }; + + + // Firefox has made these tests rather unfun. + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw http://bugzil.la/365772 if cookies are disabled + + // However, in Firefox 4 betas, if dom.storage.enabled == false, just mentioning + // the property will throw an exception. http://bugzil.la/599479 + // This looks to be fixed for FF4 Final. + + // Because we are forced to try/catch this, we'll go aggressive. + + // FWIW: IE8 Compat mode supports these features completely: + // http://www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + return !!localStorage.getItem; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + return !!sessionStorage.getItem; + } catch(e){ + return false; + } + }; + + + tests['webWorkers'] = function () { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function(){ + return !!document.createElementNS && !!document.createElementNS(ns.svg, "svg").createSVGRect; + }; + + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // Thanks to F1lt3r and lucideer + // http://github.com/Modernizr/Modernizr/issues#issue/35 + tests['smil'] = function(){ + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'animate'))); + }; + + tests['svgclippaths'] = function(){ + // Possibly returns a false positive in Safari 3.2? + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'clipPath'))); + }; + + + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms(){ + + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // http://miketaylr.com/code/input-type-attr.html + // spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + ret['input'] = (function(props) { + for (var i = 0, len = props.length; i>BEGIN IEPP + // Enable HTML 5 elements for styling in IE. + // fyi: jscript version does not reflect trident version + // therefore ie9 in ie7 mode will still have a jScript v.9 + if ( enableHTML5 && window.attachEvent && (function(){ var elem = document.createElement("div"); + elem.innerHTML = ""; + return elem.childNodes.length !== 1; })()) { + // iepp v1.6.2 by @jon_neal : code.google.com/p/ie-print-protector + (function(win, doc) { + var elems = 'abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video', + elemsArr = elems.split('|'), + elemsArrLen = elemsArr.length, + elemRegExp = new RegExp('(^|\\s)('+elems+')', 'gi'), + tagRegExp = new RegExp('<(\/*)('+elems+')', 'gi'), + ruleRegExp = new RegExp('(^|[^\\n]*?\\s)('+elems+')([^\\n]*)({[\\n\\w\\W]*?})', 'gi'), + docFrag = doc.createDocumentFragment(), + html = doc.documentElement, + head = html.firstChild, + bodyElem = doc.createElement('body'), + styleElem = doc.createElement('style'), + body; + function shim(doc) { + var a = -1; + while (++a < elemsArrLen) + // Use createElement so IE allows HTML5-named elements in a document + doc.createElement(elemsArr[a]); + } + function getCSS(styleSheetList, mediaType) { + var a = -1, + len = styleSheetList.length, + styleSheet, + cssTextArr = []; + while (++a < len) { + styleSheet = styleSheetList[a]; + // Get css from all non-screen stylesheets and their imports + if ((mediaType = styleSheet.media || mediaType) != 'screen') cssTextArr.push(getCSS(styleSheet.imports, mediaType), styleSheet.cssText); + } + return cssTextArr.join(''); + } + // Shim the document and iepp fragment + shim(doc); + shim(docFrag); + // Add iepp custom print style element + head.insertBefore(styleElem, head.firstChild); + styleElem.media = 'print'; + win.attachEvent( + 'onbeforeprint', + function() { + var a = -1, + cssText = getCSS(doc.styleSheets, 'all'), + cssTextArr = [], + rule; + body = body || doc.body; + // Get only rules which reference HTML5 elements by name + while ((rule = ruleRegExp.exec(cssText)) != null) + // Replace all html5 element references with iepp substitute classnames + cssTextArr.push((rule[1]+rule[2]+rule[3]).replace(elemRegExp, '$1.iepp_$2')+rule[4]); + // Write iepp custom print CSS + styleElem.styleSheet.cssText = cssTextArr.join('\n'); + while (++a < elemsArrLen) { + var nodeList = doc.getElementsByTagName(elemsArr[a]), + nodeListLen = nodeList.length, + b = -1; + while (++b < nodeListLen) + if (nodeList[b].className.indexOf('iepp_') < 0) + // Append iepp substitute classnames to all html5 elements + nodeList[b].className += ' iepp_'+elemsArr[a]; + } + docFrag.appendChild(body); + html.appendChild(bodyElem); + // Write iepp substitute print-safe document + bodyElem.className = body.className; + // Replace HTML5 elements with which is print-safe and shouldn't conflict since it isn't part of html5 + bodyElem.innerHTML = body.innerHTML.replace(tagRegExp, '<$1font'); + } + ); + win.attachEvent( + 'onafterprint', + function() { + // Undo everything done in onbeforeprint + bodyElem.innerHTML = ''; + html.removeChild(bodyElem); + html.appendChild(body); + styleElem.styleSheet.cssText = ''; + } + ); + })(window, document); + } + //>>END IEPP + + // Assign private properties to the return object with prefix + ret._enableHTML5 = enableHTML5; + ret._version = version; + + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/\bno-js\b/,'') + + ' js ' + + // Add the new classes to the element. + + classes.join( ' ' ); + + return ret; + +})(this,this.document); \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Scripts/modernizr-1.7.min.js b/CharityPortal/CharityPortal/Scripts/modernizr-1.7.min.js new file mode 100644 index 0000000..4b4fcc1 --- /dev/null +++ b/CharityPortal/CharityPortal/Scripts/modernizr-1.7.min.js @@ -0,0 +1,10 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +*/ +// Modernizr v1.7 www.modernizr.com +window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c{0}
    • {1}", resource.Title, resource.Description), + Latitude = resource.Location.Latitude, + Longitude = resource.Location.Longitude, + Address = resource.Location.Address + }; + } + + public static Marker CreateProjectMarker(Project project, UrlHelper url) + { + return new Marker() { + Title = project.Name, + Content = String.Format("

      {0}

      {1}", project.Name, project.Description), + IconUrl = url.Content("~/Content/images/project.png"), + Latitude = project.Location.Latitude, + Longitude = project.Location.Longitude, + Address = project.Location.Address + }; + } + } +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Views/Account/ChangePassword.cshtml b/CharityPortal/CharityPortal/Views/Account/ChangePassword.cshtml new file mode 100644 index 0000000..8dba923 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/ChangePassword.cshtml @@ -0,0 +1,53 @@ +@model CharityPortal.Models.ChangePasswordModel + +@{ + ViewBag.Title = "Change Password"; +} + +

      Change Password

      +

      + Use the form below to change your password. +

      +

      + New passwords are required to be a minimum of @Membership.MinRequiredPasswordLength characters in length. +

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true, "Password change was unsuccessful. Please correct the errors and try again.") +
      +
      + Account Information + +
      + @Html.LabelFor(m => m.OldPassword) +
      +
      + @Html.PasswordFor(m => m.OldPassword) + @Html.ValidationMessageFor(m => m.OldPassword) +
      + +
      + @Html.LabelFor(m => m.NewPassword) +
      +
      + @Html.PasswordFor(m => m.NewPassword) + @Html.ValidationMessageFor(m => m.NewPassword) +
      + +
      + @Html.LabelFor(m => m.ConfirmPassword) +
      +
      + @Html.PasswordFor(m => m.ConfirmPassword) + @Html.ValidationMessageFor(m => m.ConfirmPassword) +
      + +

      + +

      +
      +
      +} diff --git a/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml b/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml new file mode 100644 index 0000000..8a32b7d --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/ChangePasswordSuccess.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "Change Password"; +} + +

      Change Password

      +

      + Your password has been changed successfully. +

      diff --git a/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml b/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml new file mode 100644 index 0000000..f70f19e --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/LogOn.cshtml @@ -0,0 +1,48 @@ +@model CharityPortal.Models.LogOnModel + +@{ + ViewBag.Title = "Log On"; +} + +

      Log On

      +

      + Please enter your user name and password. @Html.ActionLink("Register", "Register") if you don't have an account. +

      + + + + +@Html.ValidationSummary(true, "Login was unsuccessful. Please correct the errors and try again.") + +@using (Html.BeginForm()) { +
      +
      + Account Information + +
      + @Html.LabelFor(m => m.UserName) +
      +
      + @Html.TextBoxFor(m => m.UserName) + @Html.ValidationMessageFor(m => m.UserName) +
      + +
      + @Html.LabelFor(m => m.Password) +
      +
      + @Html.PasswordFor(m => m.Password) + @Html.ValidationMessageFor(m => m.Password) +
      + +
      + @Html.CheckBoxFor(m => m.RememberMe) + @Html.LabelFor(m => m.RememberMe) +
      + +

      + +

      +
      +
      +} diff --git a/CharityPortal/CharityPortal/Views/Account/Register.cshtml b/CharityPortal/CharityPortal/Views/Account/Register.cshtml new file mode 100644 index 0000000..578f134 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Account/Register.cshtml @@ -0,0 +1,61 @@ +@model CharityPortal.Models.RegisterModel + +@{ + ViewBag.Title = "Register"; +} + +

      Create a New Account

      +

      + Use the form below to create a new account. +

      +

      + Passwords are required to be a minimum of @Membership.MinRequiredPasswordLength characters in length. +

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true, "Account creation was unsuccessful. Please correct the errors and try again.") +
      +
      + Account Information + +
      + @Html.LabelFor(m => m.UserName) +
      +
      + @Html.TextBoxFor(m => m.UserName) + @Html.ValidationMessageFor(m => m.UserName) +
      + +
      + @Html.LabelFor(m => m.Email) +
      +
      + @Html.TextBoxFor(m => m.Email) + @Html.ValidationMessageFor(m => m.Email) +
      + +
      + @Html.LabelFor(m => m.Password) +
      +
      + @Html.PasswordFor(m => m.Password) + @Html.ValidationMessageFor(m => m.Password) +
      + +
      + @Html.LabelFor(m => m.ConfirmPassword) +
      +
      + @Html.PasswordFor(m => m.ConfirmPassword) + @Html.ValidationMessageFor(m => m.ConfirmPassword) +
      + +

      + +

      +
      +
      +} diff --git a/CharityPortal/CharityPortal/Views/Home/About.cshtml b/CharityPortal/CharityPortal/Views/Home/About.cshtml new file mode 100644 index 0000000..da09bed --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Home/About.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "About Us"; +} + +

      About

      +

      + Project created during dev4good +

      diff --git a/CharityPortal/CharityPortal/Views/Home/Index.cshtml b/CharityPortal/CharityPortal/Views/Home/Index.cshtml new file mode 100644 index 0000000..35aba17 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Home/Index.cshtml @@ -0,0 +1,8 @@ +@{ + ViewBag.Title = "Home Page"; +} + +

      Welcome to the charity portal

      +

      + The latest development in charitable programming +

      diff --git a/CharityPortal/CharityPortal/Views/Organization/Create.cshtml b/CharityPortal/CharityPortal/Views/Organization/Create.cshtml new file mode 100644 index 0000000..f8e463b --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Organization/Create.cshtml @@ -0,0 +1,41 @@ +@model CharityPortal.Data.Organization + +@{ + ViewBag.Title = "Create"; +} + +

      Create Organization

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + Organization + +
      + Name +
      +
      + @Html.EditorFor(model => model.Name) + @Html.ValidationMessageFor(model => model.Name) +
      + +
      + Contact Email +
      +
      + @Html.EditorFor(model => model.ContactEmail) + @Html.ValidationMessageFor(model => model.ContactEmail) +
      + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index") +
      diff --git a/CharityPortal/CharityPortal/Views/Organization/Details.cshtml b/CharityPortal/CharityPortal/Views/Organization/Details.cshtml new file mode 100644 index 0000000..7bbca84 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Organization/Details.cshtml @@ -0,0 +1,41 @@ +@model CharityPortal.Data.Organization + +@{ + ViewBag.Title = "Details"; +} + +

      Organization Details

      + +
      + Organization + +
      Name
      +
      + @Html.DisplayFor(model => model.Name) +
      + +
      Contact Email
      +
      + @Html.DisplayFor(model => model.ContactEmail) +
      +
      + +@if (Model != null && Model.Projects != null && Model.Projects.Count > 0) { +
      + Projects Map + @{ + Map map = new Map(); + foreach(Project project in Model.Projects) { + map.Markers.Add(MapUtils.CreateProjectMarker(project, Url)); + } + } +
      + @Html.Map(map); +
      +
      +} + +

      + @Html.ActionLink("Edit", "Edit", new { id=Model.Id } , new{ @class="t-button"}) + @Html.ActionLink("Back to List", "Index" , new{ @class="t-button"}) +

      diff --git a/CharityPortal/CharityPortal/Views/Organization/Edit.cshtml b/CharityPortal/CharityPortal/Views/Organization/Edit.cshtml new file mode 100644 index 0000000..0a88405 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Organization/Edit.cshtml @@ -0,0 +1,43 @@ +@model CharityPortal.Data.Organization + +@{ + ViewBag.Title = "Edit"; +} + +

      Edit Organization

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + Organization + + @Html.HiddenFor(model => model.Id) + +
      + @Html.LabelFor(model => model.Name) +
      +
      + @Html.EditorFor(model => model.Name) + @Html.ValidationMessageFor(model => model.Name) +
      + +
      + Contact Email +
      +
      + @Html.EditorFor(model => model.ContactEmail) + @Html.ValidationMessageFor(model => model.ContactEmail) +
      + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index", null, new { @class = "t-button" }) +
      diff --git a/CharityPortal/CharityPortal/Views/Organization/Index.cshtml b/CharityPortal/CharityPortal/Views/Organization/Index.cshtml new file mode 100644 index 0000000..7f50015 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Organization/Index.cshtml @@ -0,0 +1,65 @@ +@model IEnumerable + +@{ + ViewBag.Title = "Index"; +} + +

      Organization List

      + +

      + @Html.ActionLink("Create New", "Create", null, new{ @class="t-button"}) +

      + +@*@(Html.Telerik().Grid(Model) + .Name("Grid") + .DataKeys(keys => keys.Add(c => c.Id)).DataBinding(dataBinding => dataBinding.Server() + .Select("Details", "Organization") + .Update("Edit", "Organization") + .Delete("Delete", "Organization")).Columns(columns => + { + columns.Bound(o => o.Name).Width(100); + columns.Bound(o => o.ContactEmail).Width(200);columns.Command(commands => + {commands.Select(); + commands.Edit(); + + commands.Delete(); + }).Width(200); + + }).Sortable(sorting => sorting.Enabled(true)) + .Pageable(paging => paging.Enabled(false)) + .Filterable(filtering => filtering.Enabled(false)) + + .Footer(false))*@ +
      + + + + + + + + + + +@foreach (var item in Model) { + + + + + +} + +
      + Name + + Contact Email +
      + @Html.DisplayFor(modelItem => item.Name) + + @Html.DisplayFor(modelItem => item.ContactEmail) + + @Html.ActionLink("Edit", "Edit", new { id=item.Id } , new{ @class="t-button"} ) + @Html.ActionLink("Details", "Details", new { id = item.Id }, new { @class = "t-button" }) + @Html.ActionLink("Delete", "Delete", new { id = item.Id }, new { @class = "t-button" }) +
      +
      diff --git a/CharityPortal/CharityPortal/Views/Project/Create.cshtml b/CharityPortal/CharityPortal/Views/Project/Create.cshtml new file mode 100644 index 0000000..e33cdd9 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Project/Create.cshtml @@ -0,0 +1,73 @@ +@model CharityPortal.Data.Project + +@{ + ViewBag.Title = "Create"; +} + +

      Create Organization

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + Project + +
      + @Html.LabelFor(model => model.Name) +
      +
      + @Html.EditorFor(model => model.Name) + @Html.ValidationMessageFor(model => model.Name) +
      + +
      + Orginization +
      +
      + @(Html.Telerik().DropDownList() + .Name("AdminOrg") + + .BindTo(new SelectList(ViewBag.Organizations, "Id", "Name")) + .HtmlAttributes(new { style = string.Format("width:{0}px", 200) }) + ) +
      + + + +
      + @Html.LabelFor(model => model.Description) +
      +
      + @Html.EditorFor(model => model.Description) + @Html.ValidationMessageFor(model => model.Description) +
      + + +
      + @Html.LabelFor(model => model.Location) +
      +
      + @Html.EditorFor(model => model.Location) + @Html.ValidationMessageFor(model => model.Location) +
      + + +
      + Is Active +
      +
      + @Html.EditorFor(model => model.IsActive) + @Html.ValidationMessageFor(model => model.IsActive) +
      + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index", new { @class = "t-button" }) +
      diff --git a/CharityPortal/CharityPortal/Views/Project/Delete.cshtml b/CharityPortal/CharityPortal/Views/Project/Delete.cshtml new file mode 100644 index 0000000..bf201a4 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Project/Delete.cshtml @@ -0,0 +1,33 @@ +@model CharityPortal.Data.Project + +@{ + ViewBag.Title = "Delete"; +} + +

      Delete Project

      + +

      Are you sure you want to delete this?

      +
      + Project + +
      Name
      +
      + @Html.DisplayFor(model => model.Name) +
      + +
      Description
      +
      + @Html.DisplayFor(model => model.Description) +
      + +
      IsActive
      +
      + @Html.DisplayFor(model => model.IsActive) +
      +
      +@using (Html.BeginForm()) { +

      + | + @Html.ActionLink("Back to List", "Index", null, new { @class = "t-button" }) +

      +} diff --git a/CharityPortal/CharityPortal/Views/Project/Details.cshtml b/CharityPortal/CharityPortal/Views/Project/Details.cshtml new file mode 100644 index 0000000..7a5573b --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Project/Details.cshtml @@ -0,0 +1,45 @@ +@model CharityPortal.Data.Project + +@{ + ViewBag.Title = "Details"; +} + +

      Details

      + +
      + Project + +
      Name
      +
      + @Html.DisplayFor(model => model.Name) +
      + +
      Description
      +
      + @Html.DisplayFor(model => model.Description) +
      + +
      Is Active
      +
      + @Html.DisplayFor(model => model.IsActive) +
      +
      + +@if (Model != null && Model.RequiredResources != null && Model.RequiredResources.Count > 0) { +
      + Required Resources Map + @{ + Map map = new Map(); + foreach(Resource resource in Model.RequiredResources) { + map.Markers.Add(MapUtils.CreateRequiredResourceMarker(resource, Url)); + } + } +
      + @Html.Map(map); +
      +
      +} +

      + @Html.ActionLink("Edit", "Edit", new { id = Model.Id }, new { @class = "t-button" }) + @Html.ActionLink("Back to List", "Index",null,new { @class = "t-button" }) +

      diff --git a/CharityPortal/CharityPortal/Views/Project/Edit.cshtml b/CharityPortal/CharityPortal/Views/Project/Edit.cshtml new file mode 100644 index 0000000..569d653 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Project/Edit.cshtml @@ -0,0 +1,64 @@ +@model CharityPortal.Data.Project + +@{ + ViewBag.Title = "Edit"; +} + +

      Edit Project

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + Project + + @Html.HiddenFor(model => model.Id) + +
      + @Html.LabelFor(model => model.Name) +
      +
      + @Html.EditorFor(model => model.Name) + @Html.ValidationMessageFor(model => model.Name) +
      + +
      + @Html.LabelFor(model => model.AdminOrganization) +
      +
      + @(Html.Telerik().DropDownListFor(model => model.AdminOrganization) + .Name("DropDownList") + + .BindTo(new SelectList(ViewBag.Organizations, "Id", "Name")) + .HtmlAttributes(new { style = string.Format("width:{0}px", 200) }) + ) + +
      + +
      + @Html.LabelFor(model => model.Description) +
      +
      + @Html.EditorFor(model => model.Description) + @Html.ValidationMessageFor(model => model.Description) +
      + +
      + @Html.LabelFor(model => model.IsActive) +
      +
      + @Html.EditorFor(model => model.IsActive) + @Html.ValidationMessageFor(model => model.IsActive) +
      + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index", null , new{ @class="t-button"}) +
      diff --git a/CharityPortal/CharityPortal/Views/Project/Index.cshtml b/CharityPortal/CharityPortal/Views/Project/Index.cshtml new file mode 100644 index 0000000..28dbc0c --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Project/Index.cshtml @@ -0,0 +1,49 @@ +@model IEnumerable + +@{ + ViewBag.Title = "Index"; +} + +

      Project List

      + +

      + @Html.ActionLink("Create New", "Create" , null , new{ @class="t-button"}) +

      +
      + + + + + + + + + + + +@foreach (var item in Model) { + + + + + + +} + +
      + Name + + Description + + Is Active +
      + @Html.DisplayFor(modelItem => item.Name) + + @Html.DisplayFor(modelItem => item.Description) + + @Html.DisplayFor(modelItem => item.IsActive) + + @Html.ActionLink("Edit", "Edit", new { id=item.Id } ,new{ @class="t-button"}) + @Html.ActionLink("Details", "Details", new { id = item.Id }, new { @class = "t-button" }) + @Html.ActionLink("Delete", "Delete", new { id = item.Id }, new { @class = "t-button" }) +
      diff --git a/CharityPortal/CharityPortal/Views/Resource/Create.cshtml b/CharityPortal/CharityPortal/Views/Resource/Create.cshtml new file mode 100644 index 0000000..9aa9771 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Resource/Create.cshtml @@ -0,0 +1,93 @@ +@model CharityPortal.Data.Resource + +@{ + ViewBag.Title = "Create"; +} + +

      Create Resource

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + Resource + +
      + @Html.LabelFor(model => model.Title) +
      +
      + @Html.EditorFor(model => model.Title) + @Html.ValidationMessageFor(model => model.Title) +
      + + +
      + Orginization +
      +
      + @(Html.Telerik().DropDownList() + .Name("OrgCombo") + + .BindTo(new SelectList(ViewBag.Organizations, "Id", "Name")) + .HtmlAttributes(new { style = string.Format("width:{0}px", 200) }) + ) +
      + +
      + Project +
      +
      + @(Html.Telerik().DropDownList() + .Name("ProjectCombo") + + .BindTo(new SelectList(ViewBag.Projects, "Id", "Name")) + .HtmlAttributes(new { style = string.Format("width:{0}px", 200) }) + ) +
      + + +
      + @Html.LabelFor(model => model.Description) +
      +
      + @Html.EditorFor(model => model.Description) + @Html.ValidationMessageFor(model => model.Description) +
      + +
      + @Html.LabelFor(model => model.Quantity) +
      +
      + @Html.Telerik().NumericTextBoxFor(model => model.Quantity) + @Html.ValidationMessageFor(model => model.Quantity) +
      + +
      + Quantity Units +
      +
      + @Html.EditorFor(model => model.QuantityUnits) + @Html.ValidationMessageFor(model => model.QuantityUnits) +
      + + + +
      + @Html.LabelFor(model => model.Location) +
      +
      + @Html.EditorFor(model => model.Location) + @Html.ValidationMessageFor(model => model.Location) +
      + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index", null, new { @class = "t-button" }) +
      diff --git a/CharityPortal/CharityPortal/Views/Resource/Delete.cshtml b/CharityPortal/CharityPortal/Views/Resource/Delete.cshtml new file mode 100644 index 0000000..8065c61 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Resource/Delete.cshtml @@ -0,0 +1,38 @@ +@model CharityPortal.Data.Resource + +@{ + ViewBag.Title = "Delete"; +} + +

      Delete Resource

      + +

      Are you sure you want to delete this?

      +
      + Resource + +
      Title
      +
      + @Html.DisplayFor(model => model.Title) +
      + +
      Description
      +
      + @Html.DisplayFor(model => model.Description) +
      + +
      Quantity
      +
      + @Html.DisplayFor(model => model.Quantity) +
      + +
      QuantityUnits
      +
      + @Html.DisplayFor(model => model.QuantityUnits) +
      +
      +@using (Html.BeginForm()) { +

      + | + @Html.ActionLink("Back to List", "Index", null, new { @class = "t-button" }) +

      +} diff --git a/CharityPortal/CharityPortal/Views/Resource/Details.cshtml b/CharityPortal/CharityPortal/Views/Resource/Details.cshtml new file mode 100644 index 0000000..7caca66 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Resource/Details.cshtml @@ -0,0 +1,35 @@ +@model CharityPortal.Data.Resource + +@{ + ViewBag.Title = "Details"; +} + +

      Resource Details

      + +
      + Resource + +
      Title
      +
      + @Html.DisplayFor(model => model.Title) +
      + +
      Description
      +
      + @Html.DisplayFor(model => model.Description) +
      + +
      Quantity
      +
      + @Html.DisplayFor(model => model.Quantity) +
      + +
      Quantity Units
      +
      + @Html.DisplayFor(model => model.QuantityUnits) +
      +
      +

      + @Html.ActionLink("Edit", "Edit", new { id = Model.Id }, new { @class = "t-button" }) + @Html.ActionLink("Back to List", "Index", null , new { @class = "t-button" }) +

      diff --git a/CharityPortal/CharityPortal/Views/Resource/Edit.cshtml b/CharityPortal/CharityPortal/Views/Resource/Edit.cshtml new file mode 100644 index 0000000..00b8207 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Resource/Edit.cshtml @@ -0,0 +1,96 @@ +@model CharityPortal.Data.Resource + +@{ + ViewBag.Title = "Edit"; +} + +

      Edit Resource

      + + + + +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + Resource + + @Html.HiddenFor(model => model.Id) + + +
      + @Html.LabelFor(model => model.Title) +
      +
      + @Html.EditorFor(model => model.Title) + @Html.ValidationMessageFor(model => model.Title) +
      + + +
      + @Html.LabelFor(model => model.Organization) +
      +
      + @(Html.Telerik().DropDownListFor(model => model.Organization) + .Name("OrgCombo") + + .BindTo(new SelectList(ViewBag.Organizations, "Id", "Name")) + .HtmlAttributes(new { style = string.Format("width:{0}px", 200) }) + ) + +
      + +
      + Project +
      +
      + @(Html.Telerik().DropDownListFor(model => model.Project) + .Name("ProjectCombo") + + .BindTo(new SelectList(ViewBag.Projects, "Id", "Name")) + .HtmlAttributes(new { style = string.Format("width:{0}px", 200) }) + ) +
      + + +
      + @Html.LabelFor(model => model.Description) +
      +
      + @Html.EditorFor(model => model.Description) + @Html.ValidationMessageFor(model => model.Description) +
      + + +
      + @Html.LabelFor(model => model.Quantity) +
      +
      + @Html.Telerik().NumericTextBoxFor(model => model.Quantity) + @Html.ValidationMessageFor(model => model.Quantity) +
      + +
      + @Html.LabelFor(model => model.QuantityUnits) +
      +
      + @Html.EditorFor(model => model.QuantityUnits) + @Html.ValidationMessageFor(model => model.QuantityUnits) +
      + +
      + @Html.LabelFor(model => model.Location) +
      +
      + @Html.EditorFor(model => model.Location) + @Html.ValidationMessageFor(model => model.Location) +
      + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index", null, new { @class = "t-button" }) +
      diff --git a/CharityPortal/CharityPortal/Views/Resource/Index.cshtml b/CharityPortal/CharityPortal/Views/Resource/Index.cshtml new file mode 100644 index 0000000..cd121e0 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Resource/Index.cshtml @@ -0,0 +1,55 @@ +@model IEnumerable + +@{ + ViewBag.Title = "Index"; +} + +

      Resource List

      + +

      + @Html.ActionLink("Create New", "Create" , null , new{ @class="t-button"}) +

      +
      + + + + + + + + + + + + +@foreach (var item in Model) { + + + + + + + +} + +
      + Title + + Description + + Quantity + + Quantity Units +
      + @Html.DisplayFor(modelItem => item.Title) + + @Html.DisplayFor(modelItem => item.Description) + + @Html.DisplayFor(modelItem => item.Quantity) + + @Html.DisplayFor(modelItem => item.QuantityUnits) + + @Html.ActionLink("Edit", "Edit", new { id = item.Id }, new { @class = "t-button" }) + @Html.ActionLink("Details", "Details", new { id = item.Id }, new { @class = "t-button" }) + @Html.ActionLink("Delete", "Delete", new { id = item.Id }, new { @class = "t-button" }) +
      diff --git a/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Currency.ascx b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Currency.ascx new file mode 100644 index 0000000..216624f --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Currency.ascx @@ -0,0 +1,8 @@ +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> + +<%= Html.Telerik().CurrencyTextBox() + .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) + .InputHtmlAttributes(new {style="width:100%"}) + .MinValue(0) + .Value(Model) +%> diff --git a/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Date.ascx b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Date.ascx new file mode 100644 index 0000000..cedd24a --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Date.ascx @@ -0,0 +1,7 @@ +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> + +<%= Html.Telerik().DatePicker() + .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) + .HtmlAttributes(new { id = ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty) + "_wrapper"}) + .Value(Model > DateTime.MinValue? Model : DateTime.Today) +%> \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/DateTime.ascx b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/DateTime.ascx new file mode 100644 index 0000000..b4f6631 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/DateTime.ascx @@ -0,0 +1,7 @@ +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> + +<%= Html.Telerik().DateTimePicker() + .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) + .HtmlAttributes(new { id = ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty) + "_wrapper" }) + .Value(Model > DateTime.MinValue? Model : DateTime.Today) +%> \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Integer.ascx b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Integer.ascx new file mode 100644 index 0000000..e7ae2c3 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Integer.ascx @@ -0,0 +1,9 @@ +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> + +<%= Html.Telerik().IntegerTextBox() + .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) + .InputHtmlAttributes(new { style = "width:100%" }) + .MaxValue(int.MinValue) + .MaxValue(int.MaxValue) + .Value(Model) +%> diff --git a/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Number.ascx b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Number.ascx new file mode 100644 index 0000000..fda4ab3 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Number.ascx @@ -0,0 +1,7 @@ +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> + +<%= Html.Telerik().NumericTextBox() + .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) + .InputHtmlAttributes(new { style = "width:100%" }) + .Value(Model) +%> diff --git a/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Time.ascx b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Time.ascx new file mode 100644 index 0000000..99766cc --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/EditorTemplates/Time.ascx @@ -0,0 +1,7 @@ +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> + +<%= Html.Telerik().TimePicker() + .Name(ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty)) + .HtmlAttributes(new { id = ViewData.TemplateInfo.GetFullHtmlFieldName(string.Empty) + "_wrapper" }) + .Value(Model > DateTime.MinValue? Model : DateTime.Today) +%> \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Views/Shared/Error.cshtml b/CharityPortal/CharityPortal/Views/Shared/Error.cshtml new file mode 100644 index 0000000..5cce852 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/Error.cshtml @@ -0,0 +1,9 @@ +@model System.Web.Mvc.HandleErrorInfo + +@{ + ViewBag.Title = "Error"; +} + +

      + Sorry, an error occurred while processing your request. +

      diff --git a/CharityPortal/CharityPortal/Views/Shared/MapControl.cshtml b/CharityPortal/CharityPortal/Views/Shared/MapControl.cshtml new file mode 100644 index 0000000..6fa0a4f --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/MapControl.cshtml @@ -0,0 +1,42 @@ +@model CharityPortal.Models.Map + + +
      + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml b/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml new file mode 100644 index 0000000..c465948 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/_Layout.cshtml @@ -0,0 +1,37 @@ + + + + @ViewBag.Title + + +@(Html.Telerik().StyleSheetRegistrar().DefaultGroup(group => group.Add("telerik.common.css").Add("telerik.office2010black.css").Combined(true).Compress(true))) + + +
      + + + +
      + @RenderBody() + +
      +
      +@(Html.Telerik().ScriptRegistrar().DefaultGroup(group => group.Combined(true).Compress(true))) + diff --git a/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml b/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml new file mode 100644 index 0000000..48d9fb7 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Shared/_LogOnPartial.cshtml @@ -0,0 +1,7 @@ +@if(Request.IsAuthenticated) { + Welcome @User.Identity.Name! + [ @Html.ActionLink("Log Off", "LogOff", "Account") ] +} +else { + @:[ @Html.ActionLink("Log On", "LogOn", "Account") ] +} diff --git a/CharityPortal/CharityPortal/Views/Visualization/OverviewMap.cshtml b/CharityPortal/CharityPortal/Views/Visualization/OverviewMap.cshtml new file mode 100644 index 0000000..c0e2209 --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Visualization/OverviewMap.cshtml @@ -0,0 +1,10 @@ +@model CharityPortal.Models.OverviewMapViewModel +@{ + ViewBag.Title = "Visualization"; +} + +

      Visualization

      + +
      + @Html.Partial("MapControl", @Model.Map) +
      \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Views/Web.config b/CharityPortal/CharityPortal/Views/Web.config new file mode 100644 index 0000000..c55926f --- /dev/null +++ b/CharityPortal/CharityPortal/Views/Web.config @@ -0,0 +1,62 @@ + + + + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal/Views/_ViewStart.cshtml b/CharityPortal/CharityPortal/Views/_ViewStart.cshtml new file mode 100644 index 0000000..9c30ccf --- /dev/null +++ b/CharityPortal/CharityPortal/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "~/Views/Shared/_Layout.cshtml"; +} \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.Debug.config b/CharityPortal/CharityPortal/Web.Debug.config new file mode 100644 index 0000000..962e6b7 --- /dev/null +++ b/CharityPortal/CharityPortal/Web.Debug.config @@ -0,0 +1,30 @@ + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.Release.config b/CharityPortal/CharityPortal/Web.Release.config new file mode 100644 index 0000000..141832b --- /dev/null +++ b/CharityPortal/CharityPortal/Web.Release.config @@ -0,0 +1,31 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/CharityPortal/Web.config b/CharityPortal/CharityPortal/Web.config new file mode 100644 index 0000000..b336825 --- /dev/null +++ b/CharityPortal/CharityPortal/Web.config @@ -0,0 +1,107 @@ + + + + + + +
      + +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/CharityPortal/CharityPortal/packages.config b/CharityPortal/CharityPortal/packages.config new file mode 100644 index 0000000..36993bd --- /dev/null +++ b/CharityPortal/CharityPortal/packages.config @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/CharityPortal/ResourceMatcher/CharityPortal.ResourceMatcher.csproj b/CharityPortal/ResourceMatcher/CharityPortal.ResourceMatcher.csproj new file mode 100644 index 0000000..21a1cd8 --- /dev/null +++ b/CharityPortal/ResourceMatcher/CharityPortal.ResourceMatcher.csproj @@ -0,0 +1,85 @@ + + + + Debug + x86 + 8.0.30703 + 2.0 + {340AE4C3-F6CA-4D17-AAA5-CCB43EE8911F} + Exe + Properties + ResourceMatcher + ResourceMatcher + v4.0 + + + 512 + + + x86 + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + x86 + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + ResourceMatcher.Program + + + + + + + + ..\lib\Microsoft Reactive Extensions\System.Reactive.dll + + + + + + + + + + + + Component + + + ResourceMatcherService.cs + + + + + + + Designer + + + + + {1D773A47-6822-4511-9B27-B37386F866DD} + CharityPortal.Data + + + + + \ No newline at end of file diff --git a/CharityPortal/ResourceMatcher/Program.cs b/CharityPortal/ResourceMatcher/Program.cs new file mode 100644 index 0000000..b5477f8 --- /dev/null +++ b/CharityPortal/ResourceMatcher/Program.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.ServiceProcess; +using System.Text; + +namespace ResourceMatcher +{ + static class Program + { + /// + /// The main entry point for the application. + /// + static void Main(string[] args) + { + if (args == null || args.Count() == 0) + { + //Installed service mode + ServiceBase[] ServicesToRun; + ServicesToRun = new ServiceBase[] + { + new ResourceMatcherService() + }; + ServiceBase.Run(ServicesToRun); + + } + else + { + //Console mode + var service = new ResourceMatcherService(); + service.StartLoop(); + Console.WriteLine(); + service.StopLoop(); + } + + } + } +} diff --git a/CharityPortal/ResourceMatcher/Properties/AssemblyInfo.cs b/CharityPortal/ResourceMatcher/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..0b79f57 --- /dev/null +++ b/CharityPortal/ResourceMatcher/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("ResourceMatcher")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("ResourceMatcher")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2011")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("e1c8279b-def6-4143-ad1e-6ed41990d27b")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Build and Revision Numbers +// by using the '*' as shown below: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/CharityPortal/ResourceMatcher/ResourceMatcherService.Designer.cs b/CharityPortal/ResourceMatcher/ResourceMatcherService.Designer.cs new file mode 100644 index 0000000..3c5f0b9 --- /dev/null +++ b/CharityPortal/ResourceMatcher/ResourceMatcherService.Designer.cs @@ -0,0 +1,37 @@ +namespace ResourceMatcher +{ + partial class ResourceMatcherService + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Component Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + components = new System.ComponentModel.Container(); + this.ServiceName = "Service1"; + } + + #endregion + } +} diff --git a/CharityPortal/ResourceMatcher/ResourceMatcherService.cs b/CharityPortal/ResourceMatcher/ResourceMatcherService.cs new file mode 100644 index 0000000..57b7a5b --- /dev/null +++ b/CharityPortal/ResourceMatcher/ResourceMatcherService.cs @@ -0,0 +1,310 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Data.SqlClient; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Net; +using System.Reactive.Linq; +using System.ServiceProcess; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading; +using System.Configuration; +using System.Web; +using System.Xml.Linq; +using CharityPortal.Data; + +namespace ResourceMatcher +{ + public partial class ResourceMatcherService : ServiceBase + { + private bool _stopLoop = false; + public ResourceMatcherService() + { + InitializeComponent(); + } + + protected override void OnStart(string[] args) + { + Action start = StartLoop; + var result = start.BeginInvoke(null, null); + Console.ReadLine(); + start.EndInvoke(result); + } + + protected override void OnStop() + { + StopLoop(); + } + + public void StartLoop() + { + _stopLoop = false; + + int sleepFrequency; + if (!int.TryParse(ConfigurationManager.AppSettings["LoopFrequency"], out sleepFrequency)) + { + sleepFrequency = 5000; + } + + ImportTweets(); + + while (!_stopLoop) + { + Console.WriteLine("Still executing"); + + Thread.Sleep(sleepFrequency); + } + } + + private AppSetting _lastTweetId = new AppSetting { Name = "LastTweetId", Value = "0"}; + + /// + /// Update the recorded Id of the most recent tweet + /// + private void UpdateLastTweetId(IEnumerable tweets) + { + if (_lastTweetId == null) + { + //Get from DB + _lastTweetId = _context.AppSettings.FirstOrDefault(s => s.Name == "LastTweetId"); + } + + if (tweets.Any()) + { + _lastTweetId.Value = Math.Max(int.Parse(_lastTweetId.Value), tweets.Max(t => t.Id)).ToString(); + _context.SaveChanges(); + } + } + + static readonly string _twitterUrl = "http://search.twitter.com/search.atom?rpp=100&since_id="; + + static IObservable SearchTwitter(string searchText, long lastId) + { + try + { + var uri = _twitterUrl + lastId + "&q=" + searchText; + + var request = (HttpWebRequest)HttpWebRequest.Create(new Uri(uri)); + + var twitterSearch = Observable.FromAsyncPattern(request.BeginGetResponse, request.EndGetResponse); + + return twitterSearch().Select(res => WebResponseToString(res)); + } + catch (Exception exception) + { + Console.WriteLine(exception); + } + return Observable.Empty(); + } + + private static readonly string _MagicHashTag = "#dev4goodgaza"; + + private void ImportTweets() + { + Observable.Timer(TimeSpan.Zero, TimeSpan.FromSeconds(30)) + .SelectMany(ticks => SearchTwitter(HttpUtility.UrlEncode(_MagicHashTag), int.Parse(_lastTweetId.Value))) + .Select(ParseTwitterSearch) + .Subscribe(tweets => { + UpdateLastTweetId(tweets); + tweets.ToList().ForEach(SaveResourceFromTweet); + } + ); + } + + private void SaveResourceFromTweet(Tweet tweet) + { + Resource resource = null; + Regex tweetSplitter = new Regex(@"^(" + _MagicHashTag + @")\W+(#(p|o)\W*(\w+))\W+(.*?(x(\d+)\W*(\w*)){0,1})$"); + + MatchCollection matches = tweetSplitter.Matches(tweet.Title); + if(matches.Count==1) + { + //Looks like a good tweet + resource= new Resource(); + var match = matches[0]; + string ownerType = match.Groups[3].Value; //P or O + string ownerName = match.Groups[4].Value; //numeric + + int quantity; + string units; + if (match.Groups.Count > 7) + { + quantity = int.Parse(match.Groups[7].Value); + units = match.Groups[8].Value; + } + else + { + quantity = 1; + units = "unit"; + } + + Organization organization = null; + Project project = null; + + if(ownerType=="o") + { + organization = _context.Organizations.FirstOrDefault(o => o.Name == ownerName); + if (organization == null) + { + organization = new Organization(); + organization.Name = ownerName; + organization.ContactEmail = "@"+tweet.Author; + _context.Organizations.AddObject(organization); + } + resource.Organization = organization; + } + else if(ownerType=="p") + { + project = _context.Projects.FirstOrDefault(o => o.Name == ownerName); + if (project == null) + { + project = new Project(); + project.Name = ownerName; + project.IsActive = true; + project.Description = "Created by " + tweet.Author + " via twitter at " + DateTime.UtcNow.ToString("s"); + _context.Projects.AddObject(project); + + //Need to connect to an organisation too + organization = _context.Organizations.FirstOrDefault(o => o.ContactEmail == "@" + tweet.Author); + if (organization == null) + { + organization = new Organization(); + organization.ContactEmail = "@" + tweet.Author; + organization.Name = tweet.Author; //default for now? + + _context.Organizations.AddObject(organization); + } + + project.AdminOrganization = organization; + + //TODO: Make this correct + project.Location.Address = string.Empty; + project.Location.Latitude = 51.5; + project.Location.Longitude = -1.75; + } + resource.Project = project; + } + + string description = match.Groups[5].Value; //description + resource.Description = description; + resource.Title = description; + resource.Quantity = quantity; + resource.QuantityUnits = units; + + //TODO: Make this correct + resource.Location.Address = string.Empty; + resource.Location.Latitude = 51.5; + resource.Location.Longitude = -1.75; + + //resource.Tags.Add(new Tag() {Name = ""}); + + _context.AddToResources(resource); + _context.SaveChanges(); + } + } + + private static readonly CharityPortal.Data.DataContextContainer _context = new CharityPortal.Data.DataContextContainer(); + + private static string WebResponseToString(WebResponse webResponse) + { + HttpWebResponse response = (HttpWebResponse)webResponse; + using (StreamReader reader = new StreamReader(response.GetResponseStream())) + { + return reader.ReadToEnd(); + } + } + + /// + /// A tweet! + /// + public class Tweet + { + public long Id { get; set; } + public string Title { get; set; } + public string Author { get; set; } + public string ProfileImageUrl { get; set; } + public DateTime Timestamp { get; set; } + + public Tweet() + { } + + public Tweet(Tweet tweet) + { + Id = tweet.Id; + Title = tweet.Title; + ProfileImageUrl = tweet.ProfileImageUrl; + Author = tweet.Author; + Timestamp = tweet.Timestamp; + } + + public override string ToString() + { + return Title; + } + } + + private static string _atomNamespace = "http://www.w3.org/2005/Atom"; + + private static XName _entryName = XName.Get("entry", _atomNamespace); + + private static XName _idName = XName.Get("id", _atomNamespace); + + private static XName _linkName = XName.Get("link", _atomNamespace); + + private static XName _publishedName = XName.Get("published", _atomNamespace); + + private static XName _nameName = XName.Get("name", _atomNamespace); + + private static XName _titleName = XName.Get("title", _atomNamespace); + + private static IEnumerable ParseTwitterSearch(string response) + { + var doc = XDocument.Parse(response); + return doc.Descendants(_entryName) + .Select(entryElement => new Tweet() + { + Title = entryElement.Descendants(_titleName).Single().Value, + Id = long.Parse(entryElement.Descendants + (_idName).Single().Value.Split(':')[2]), + ProfileImageUrl = entryElement.Descendants + (_linkName).Skip(1).First().Attribute("href").Value, + Timestamp = DateTime.Parse(entryElement.Descendants + (_publishedName).Single().Value), + Author = ParseTwitterName(entryElement.Descendants + (_nameName).Single().Value) + }); + } + + private static string ParseTwitterName(string name) + { + int bracketLocation = name.IndexOf("("); + return name.Substring(0, bracketLocation - 1); + } + + public void StopLoop() + { + _stopLoop = true; + } + } +} + +namespace CharityPortal.Utils +{ + namespace Database + { + public static class Database + { + public static int ExecuteNonQuery(this SqlConnection connection, string sprocName, params SqlParameter[] sqlParameters) + { + using (var sqlCommand = new SqlCommand(sprocName, connection)) + { + return sqlCommand.ExecuteNonQuery(); + } + } + } + } +} diff --git a/CharityPortal/ResourceMatcher/app.config b/CharityPortal/ResourceMatcher/app.config new file mode 100644 index 0000000..04ba5e1 --- /dev/null +++ b/CharityPortal/ResourceMatcher/app.config @@ -0,0 +1,7 @@ + + + + + + + diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/Microsoft.Reactive.Testing.dll b/CharityPortal/lib/Microsoft Reactive Extensions/Microsoft.Reactive.Testing.dll new file mode 100644 index 0000000..b0c2f62 Binary files /dev/null and b/CharityPortal/lib/Microsoft Reactive Extensions/Microsoft.Reactive.Testing.dll differ diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/Microsoft.Reactive.Testing.xml b/CharityPortal/lib/Microsoft Reactive Extensions/Microsoft.Reactive.Testing.xml new file mode 100644 index 0000000..86c158b --- /dev/null +++ b/CharityPortal/lib/Microsoft Reactive Extensions/Microsoft.Reactive.Testing.xml @@ -0,0 +1,379 @@ + + + + Microsoft.Reactive.Testing + + + + + Observable that records subscriptions and notifications sent by the observable. + + + + + + Gets the subscriptions to the observable. + + + + + Gets the recorded notifications sent by the observable. + + + + + Observer that records received notifications. + + + + + Gets recorded notifications received by the observer. + + + + + Helper class to write asserts in Rx unit tests. + + + + + Asserts that both enumerable sequences have equal length and equal elements. + + Expected sequence. + Actual sequence to compare against the expected one. + + + + Asserts that both enumerable sequences have equal length and equal elements. + + Expected sequence. + Actual sequence to compare against the expected one. + Error message for assert failure. + + + + Asserts that both observable sequences have equal length and equal elements. + + Expected sequence. + Actual sequence to compare against the expected one. + + + + Asserts that both observable sequences have equal length and equal elements. + + Expected sequence. + Actual sequence to compare against the expected one. + Error message for assert failure. + + + + Asserts that the given action throws an exception of the type specified in the generic parameter. + + Type of the exception to check for. + Action to run. + + + + Asserts that the given action throws an exception of the type specified in the generic parameter. + + Type of the exception to check for. + Action to run. + Error message for assert failure. + + + + Asserts that the given action throws the specified exception. + + Type of the exception to check for. + Exception to assert being thrown. + Action to run. + + + + Asserts that the given action throws the specified exception. + + Type of the exception to check for. + Exception to assert being thrown. + Action to run. + Error message for assert failure. + + + + Base type to write tests for Rx code. + + + + + Default virtual time used for creation of observable sequences in Rx tests. + + + + + Default virtual time used to subscribe to an observable sequence in Rx tests. + + + + + Default virtual time used to dispose subscriptions in Rx tests. + + + + + Factory method for a recorded OnNext notification at a given time with a given value. + + Recorded virtual time the OnNext notification occurs. + Recorded value stored in the OnNext notification. + Recorded OnNext notification. + + + + Factory method for a recorded OnCompleted notification at a given time. + + Recorded virtual time the OnCompleted notification occurs. + Recorded OnCompleted notification. + + + + Factory method for a recorded OnError notification at a given time with a given error. + + Recorded virtual time the OnError notification occurs. + Recorded exception stored in the OnError notification. + Recorded OnError notification. + + + + Factory method for a recorded subscription. + + Virtual time indicating when the subscription was created. + Virtual time indicating when the subscription was disposed. + Subscription object. + + + + Factory method for a recorded subscription. + + Virtual time indicating when the subscription was created. + Subscription object. + + + + Records a value with the time it was produced on. + + + + + Creates a new object recording the production of the specified value at the given virtual time. + + Virtual time the value was produced on. + Value that was produced. + + + + Checks whether the given recorded object is equal to the current instance. + + Recorded object to check for equality. + true if both objects are equal; false otherwise. + + + + Checks whether the given object is equal to the current instance. + + Object to check for equality. + true if both objects are equal; false otherwise. + + + + Computes a hash code for the current instance. + + Hash code. + + + + Gets a friendly string representation of the current instance. + + String representation. + + + + Checks whether the two given recorded objects are equal. + + First object to check for equality. + Second object to check for equality. + true if both objects are equal; false otherwise. + + + + Checks whether the two given recorded objects are not equal. + + First object to check for equality. + Second object to check for equality. + true if both objects are inequal; false otherwise. + + + + Gets the virtual time the value was produced on. + + + + + Gets the value. + + + + + Records information about subscripts to and unsubscriptions from observable sequences. + + + + + Infinite virtual time value. + + + + + Creates a new subscription object. + + Virtual time at which the subscription occurred.- + + + + Creates a new subscription object. + + Virtual time at which the subscription occurred. + Virtual time at which the unsubscription occurred. + + + + Checks whether the given subscription is equal to the current instance. + + Subscription object to check for equality. + true if both objects are equal; false otherwise. + + + + Checks whether the given object is equal to the current instance. + + Object to check for equality. + true if both objects are equal; false otherwise. + + + + Computes a hash code for the current instance. + + Hash code. + + + + Gets a friendly string representation of the current instance. + + String representation. + + + + Checks whether the two given subscription objects are equal. + + First object to check for equality. + Second object to check for equality. + true if both objects are equal; false otherwise. + + + + Checks whether the two given subscription objects are not equal. + + First object to check for equality. + Second object to check for equality. + true if both objects are inequal; false otherwise. + + + + Gets the subscription virtual time. + + + + + Gets the unsubscription virtual time. + + + + + Base class for testing Rx code. + + + + + Schedules an action to be executed at the specified virtual time. + + State passed to the action to be executed. + Action to be executed. + Absolute virtual time at which to execute the action. + Disposable object used to cancel the scheduled action (best effort). + + + + Adds a relative virtual time to an absolute virtual time value. + + Absolute virtual time value. + Relative virtual time value to add. + Resulting absolute virtual time sum value. + + + + Converts the absolute virtual time value to a DateTimeOffset value. + + Absolute virtual time value to convert. + Corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative virtual time value. + + TimeSpan value to convert. + Corresponding relative virtual time value. + + + + Starts the test scheduler. + + Factory method to create an observable sequence. + Virtual time at which to invoke the factory to create an observable sequence. + Virtual time at which to subscribe to the created observable sequence. + Virtual time at which to dispose the subscription. + Testable observer with recordings of notifications that occurred. + + + + Starts the test scheduler. + + Factory method to create an observable sequence. + Virtual time at which to dispose the subscription. + Testable observer with recordings of notifications that occurred. + + + + Starts the test scheduler. + + Factory method to create an observable sequence. + Testable observer with recordings of notifications that occurred. + + + + Creates a hot observable. + + Notifications to surface through the created sequence. + Hot observable exhibiting the specified message behavior. + + + + Creates a cold observable. + + Notifications to surface through the created sequence. + Cold observable exhibiting the specified message behavior. + + + + Creates a testable observer. + + New testable observer object. + + + diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Providers.dll b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Providers.dll new file mode 100644 index 0000000..b4522b0 Binary files /dev/null and b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Providers.dll differ diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Providers.xml b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Providers.xml new file mode 100644 index 0000000..25a1a9d --- /dev/null +++ b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Providers.xml @@ -0,0 +1,57 @@ + + + + System.Reactive.Providers + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is known. + + + + + Provides functionality to evaluate queries against a specific data source wherein the type of the data is not specified. + + + + + Gets the type of the element(s) that are returned when the expression tree associated with this instance of IQbservable is executed. + + + + + Gets the expression tree that is associated with the instance of IQbservable. + + + + + Gets the query provider that is associated with this data source. + + + + + Defines methods to create and execute queries that are described by an IQbservable object. + + + + + Constructs an IQbservable>TResult< object that can evaluate the query represented by a specified expression tree. + + Expression tree representing the query. + IQbservable object that can evaluate the given query expression. + + + + Converts an observable sequence into a queryable observable sequence. + + Source sequence. + Queryable observable sequence representing the given observable source sequence. + + + + Gets the local Qbservable provider. + + + + diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Forms.dll b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Forms.dll new file mode 100644 index 0000000..610d7fc Binary files /dev/null and b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Forms.dll differ diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Forms.xml b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Forms.xml new file mode 100644 index 0000000..268536b --- /dev/null +++ b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Forms.xml @@ -0,0 +1,78 @@ + + + + System.Reactive.Windows.Forms + + + + + Provides a set of static methods for subscribing to IObservables using Windows Forms controls. + + + + + Asynchronously subscribes and unsubscribes observers using the Windows Forms control. + + Source sequence. + Windows Forms control whose associated message loop is used to to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the Windows Forms message loop associated with the specified control. + + + + Asynchronously notify observers using the Windows Forms control. + + Source sequence. + Windows Forms control whose associated message loop is used to to notify observers on. + The source sequence whose observations happen on the Windows Forms message loop associated with the specified control. + + + + Represents an object that schedules units of work on the message loop associated with a Windows Forms control. + + + + + Constructs a ControlScheduler that schedules units of work on the message loop associated with the specified Windows Forms control. + + Windows Forms control to get the message loop from. + This scheduler type is typically used indirectly through the ObserveOn overload that takes a Windows Forms control. + This scheduler type is typically used indirectly through the SubscribeOn overload that takes a Windows Forms control. + + + + Schedules an action to be executed on the message loop associated with the control. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime on the message loop associated with the control, using a Windows Forms Timer object. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime on the message loop associated with the control, using a Windows Forms Timer object. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Gets the control associated with the ControlScheduler. + + + + diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Threading.dll b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Threading.dll new file mode 100644 index 0000000..f3de67f Binary files /dev/null and b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Threading.dll differ diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Threading.xml b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Threading.xml new file mode 100644 index 0000000..617c8df --- /dev/null +++ b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.Windows.Threading.xml @@ -0,0 +1,113 @@ + + + + System.Reactive.Windows.Threading + + + + + Provides a set of static methods for subscribing to IObservables using Dispatchers. + + + + + Asynchronously notify observers using the dispatcher. + + Source sequence. + Dispatcher whose associated message loop is used to to notify observers on. + The source sequence whose observations happen on the message loop associated with the specified dispatcher. + + + + Asynchronously subscribes and unsubscribes observers using the dispatcher. + + Source sequence. + Dispatcher whose associated message loop is used to to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the message loop associated with the specified dispatcher. + + + + Asynchronously notify observers on the specified dispatcher scheduler. + + Source sequence. + Dispatcher scheduler to notify observers on. + The source sequence whose observations happen on the specified dispatcher scheduler. + + + + Asynchronously notify observers using the dispatcher associated with the current thread. + + Source sequence. + The source sequence whose observations happen on the current thread's dispatcher. + + + + Asynchronously subscribes and unsubscribes observers on the dispatcher associated with the current thread. + + Source sequence. + The source sequence whose subscriptions and unsubscriptions happen on the current thread's dispatcher. + + + + Asynchronously subscribes and unsubscribes observers on the specified dispatcher scheduler. + + Source sequence. + Dispatcher scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified dispatcher scheduler. + + + + Represents an object that schedules units of work on a Dispatcher. + + This scheduler type is typically used indirectly through the ObserveOnDispatcher method that uses the current Dispatcher. + This scheduler type is typically used indirectly through the SubscribeOnDispatcher method that uses the current Dispatcher. + + + + Constructs an DispatcherScheduler that schedules units of work on dispatcher. + + Dispatcher to schedule work on. + + + + Schedules an action to be executed on the dispatcher. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime on the dispatcher, using a DispatcherTimer object. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime on the dispatcher, using a DispatcherTimer object. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler that schedules work on the current Dispatcher. + + + + + Gets the scheduler's notion of current time. + + + + + Gets the dispatcher associated with the DispatcherScheduler. + + + + diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.dll b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.dll new file mode 100644 index 0000000..64ad590 Binary files /dev/null and b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.dll differ diff --git a/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.xml b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.xml new file mode 100644 index 0000000..e034dde --- /dev/null +++ b/CharityPortal/lib/Microsoft Reactive Extensions/System.Reactive.xml @@ -0,0 +1,5392 @@ + + + + System.Reactive + + + + + A SingleAssignmentDisposable only allows a single assignment of its disposable object. If it has already been assigned, attempts to set the underlying object will throw an InvalidOperationException. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the FutureDisposable has already been assigned then it will throw an InvalidOperationException. + + + + Represents a disposable whose underlying disposable can be swapped for another disposable which causes the previous underlying disposable to be disposed. + + + + + Initializes a new instance of the class. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the ReplaceDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. Assigning this property disposes the previous disposable object. + + + + Represents the Sender and EventArg values of a .NET event. + + + + + Represents the Sender and EventArg values of a .NET event. + + The source of the event. + A TEventArgs that contains the event data. + + + + Indicates whether the current object is equal to another object of the same type. + + An object to compare with this object. + true if the current object is equal to the other parameter; otherwise, false. + + + + Determines whether the specified System.Object is equal to the current EventPattern. + + The System.Object to compare with the current EventPattern. + true if the specified EventPattern is equal to the current System.Object; otherwise, false. + + + + Serves as a hash function for a particular type. + + A hash code for the current EventPattern. + + + + Determines whether two specified EventPatterns have the same value. + + The first EventPattern to compare, or null. + The second EventPattern to compare, or null. + true if the value of first is the same as the value of second; otherwise, false. + + + + Determines whether two specified EventPatterns have different values. + + The first EventPattern to compare, or null. + The second EventPattern to compare, or null. + true if the value of first is different from the value of second; otherwise, false. + + + + Gets the sender value of the event. + + + + + Gets the event arguments value of the event. + + + + + Represents a data stream signaling its elements by means of an event. + + Event arguments type. + + + + Event signaling the next element in the data stream. + + + + + Represents a data stream signaling its elements by means of an event. + + Event arguments type. + + + + Event signaling the next element in the data stream. + + + + + Provides a set of static methods for query operations over observable sequences. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the function into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Converts the action into an asynchronous function. + + + + + Invokes the function asynchronously. + + + + + Invokes the function asynchronously. + + + + + Invokes the action asynchronously. + + + + + Invokes the action asynchronously. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Converts a Begin/End invoke function pair into an asynchronous function. + + + + + Applies an accumulator function over an observable sequence. The specified seed value is used as the initial accumulator value. + + An observable sequence to aggregate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Applies an accumulator function over an observable sequence. + + An observable sequence to aggregate over. + An accumulator function to be invoked on each element. + An observable sequence containing a single element with the final accumulator value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains any elements. + + An observable sequence to check for non-emptiness. + An observable sequence containing a single element determining whether the source sequence contains any elements. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether any element of an observable sequence satisfies a condition. + + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether any elements in the source sequence pass the test in the specified predicate. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether all elements of an observable sequence satisfy a condition. + + An observable sequence whose elements to apply the predicate to. + A function to test each element for a condition. + An observable sequence containing a single element determining whether all elements in the source sequence pass the test in the specified predicate. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using a specified System.Collections.Generic.IEqualityComparer<T>. + + An observable sequence in which to locate a value. + The value to locate in the sequence. + An equality comparer to compare values. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether an observable sequence contains a specified element by using the default equality comparer. + + An observable sequence in which to locate a value. + The value to locate in the sequence. + An observable sequence containing a single element determining whether the source sequence contains an element that has the specified value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns a that represents the total number of elements in an observable sequence. + + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns a that represents the total number of elements in an observable sequence. + + An observable sequence that contains elements to be counted. + An observable sequence containing a single element with the number of elements in the input sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of values. + + A sequence of values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the sum of a sequence of nullable values. + + A sequence of nullable values to calculate the sum of. + An observable sequence containing a single element with the sum of the values in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value. + + An observable sequence to get the minimum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a minimum key value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the minimum key value according to the specified comparer. + + An observable sequence to get the minimum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a minimum key value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence. + + An observable sequence to determine the mimimum element of. + An observable sequence containing a single element with the minimum element in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum element in an observable sequence according to the specified comparer. + + An observable sequence to determine the mimimum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the minimum element in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of values. + + A sequence of values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the minimum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the minimum value of. + An observable sequence containing a single element with the minimum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value. + + An observable sequence to get the maximum elements for. + Key selector function. + An observable sequence containing a list of zero or more elements that have a maximum key value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the elements in an observable sequence with the maximum key value according to the specified comparer. + + An observable sequence to get the maximum elements for. + Key selector function. + Comparer used to compare key values. + An observable sequence containing a list of zero or more elements that have a maximum key value. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum element in an observable sequence. + + An observable sequence to determine the maximum element of. + An observable sequence containing a single element with the maximum element in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence according to the specified comparer. + + An observable sequence to determine the maximum element of. + Comparer used to compare elements. + An observable sequence containing a single element with the maximum element in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of values. + + A sequence of values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns the maximum value in an observable sequence of nullable values. + + A sequence of nullable values to determine the maximum value of. + An observable sequence containing a single element with the maximum value in the sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of values. + + A sequence of values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Computes the average of an observable sequence of nullable values. + + A sequence of nullable values to calculate the average of. + An observable sequence containing a single element with the average of the sequence of values, or null if the source sequence is empty or contains only values that are null. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a list from an observable sequence. + + The source observable sequence to get a list of elements for. + An observable sequence containing a single element with a list containing all the elements of the source sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates an array from an observable sequence. + + The source observable sequence to get an array of elements for. + An observable sequence containing a single element with an array containing all the elements of the source sequence. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and an element selector function. + + An observable sequence to create a dictionary for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function, and a comparer. + + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a dictionary from an observable sequence according to a specified key selector function. + + An observable sequence to create a dictionary for. + A function to extract a key from each element. + An observable sequence containing a single element with a dictionary mapping unique key values onto the corresponding source sequence's element. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, a comparer, and an element selector function. + + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and a comparer. + + An observable sequence to create a lookup for. + A function to extract a key from each element. + An equality comparer to compare keys. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function, and an element selector function. + + An observable sequence to create a lookup for. + A function to extract a key from each element. + A transform function to produce a result element value from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Creates a lookup from an observable sequence according to a specified key selector function. + + An observable sequence to create a lookup for. + A function to extract a key from each element. + An observable sequence containing a single element with a lookup mapping unique key values onto the corresponding source sequence's elements. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise using a specified equality comparer. + + First observable sequence to compare. + Second observable sequence to compare. + Comparer used to compare elements of both sequences. + An observable sequence that contains a single element which indicates whether both sequences are equal. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Determines whether two sequences are equal by comparing the elements pairwise. + + First observable sequence to compare. + Second observable sequence to compare. + An observable sequence that contains a single element which indicates whether both sequences are equal. + The return value of this operator differs from the corresponding operator on IEnumerable in order to retain asynchronous behavior. + + + + Returns an observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + Connectable observable sequence. + An observable sequence that stays connected to the source as long as there is at least one subscription to the observable sequence. + + + + Returns a connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + + Source sequence whose elements will be pushed into the specified subject. + Subject to push source elements into. + A connectable observable sequence that upon connection causes the source sequence to push results into the specified subject. + + + + Returns an observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + Source sequence which will be multicasted in the specified selector function. + Factory function to create an intermediate subject through which the source sequence's elements will be multicast to the selector function. + Selector function which can use the multicasted source sequence subject to the policies enforced by the created subject. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence. + + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all notifications of the source from the time of the subscription on. + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence. + + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will only receive the last notification of the source. + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence containing only the last notification. + + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will only receive the last notification of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + + Source sequence whose elements will be multicasted through a single shared subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + + Source sequence whose elements will be multicasted through a single shared subscription. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications within window. + + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications within window. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications within window. + + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying all notifications within window. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + Maximum element count of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + Maximum element count of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications within window. + + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications within window. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications within window. + + Source sequence whose elements will be multicasted through a single shared subscription. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers will be invoked on. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive all the notifications of the source. + + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence replaying bufferSize notifications within window. + + Source sequence whose elements will be multicasting through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive all the notifications of the source. + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler where connected observers within the selector function will be invoked on. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Returns a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + + Source sequence whose elements will be multicasted through a single shared subscription. + Initial value received by observers upon subscription. + A connectable observable sequence that shares a single subscription to the underlying sequence. + Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + + + + Returns an observable sequence that is the result of invoking the selector on a connectable observable sequence that shares a single subscription to the underlying sequence and starts with initialValue. + + Source sequence whose elements will be multicasted through a single shared subscription. + Selector function which can use the multicasted source sequence as many times as needed, without causing multiple subscriptions to the source sequence. Subscribers will receive immediately receive the initial value, followed by all notifications of the source from the time of the subscription on. + Initial value received by observers upon subscription. + An observable sequence that contains the elements of a sequence produced by multicasting the source sequence within a selector function. + + + + + Converts an observable sequence to an enumerable sequence. + + An observable sequence to convert to an enumerable sequence. + The enumerable sequence containing the elements in the observable sequence. + + + + Returns an enumerator that enumerates all values of the observable sequence. + + An observable sequence to get an enumerator for. + The enumerator that can be used to enumerate over the elements in the observable sequence. + + + + Samples the most recent value in an observable sequence. + + Source observable sequence. + Initial value that will be yielded by the enumerable sequence if no element has been sampled yet. + The enumerable sequence that returns the last sampled element upon each iteration. + + + + Samples the next value (blocking without buffering) from in an observable sequence. + + Source observable sequence. + The enumerable sequence that blocks upon each iteration until the next element in the observable source sequence becomes available. + + + + Samples the most recent value in an observable sequence. + + Source observable sequence. + The enumerable sequence that returns the last sampled element upon each iteration and subsequently blocks until the next element in the observable source sequence becomes available. + + + + Returns the first element of an observable sequence. + + Source observable sequence. + The first element in the observable sequence. + + + + Returns the first element of an observable sequence, or a default value if no value is found. + + Source observable sequence. + The first element in the observable sequence, or a default value if no value is found. + + + + Returns the first element of an observable sequence that matches the predicate. + + Source observable sequence. + A predicate function to evaluate for elements in the sequence. + The first element in the observable sequence for which the predicate holds. + + + + Returns the first element of an observable sequence that matches the predicate, or a default value if no value is found. + + Source observable sequence. + A predicate function to evaluate for elements in the sequence. + The first element in the observable sequence for which the predicate holds, or a default value if no value is found. + + + + Returns the last element of an observable sequence. + + Source observable sequence. + The last element in the observable sequence. + + + + Returns the last element of an observable sequence, or a default value if no value is found. + + Source observable sequence. + The last element in the observable sequence, or a default value if no value is found. + + + + Returns the last element of an observable sequence that matches the predicate. + + Source observable sequence. + A predicate function to evaluate for elements in the sequence. + The last element in the observable sequence for which the predicate holds. + + + + Returns the last element of an observable sequence that matches the predicate, or a default value if no value is found. + + Source observable sequence. + A predicate function to evaluate for elements in the sequence. + The last element in the observable sequence, or a default value if no value is found. + + + + Returns the only element of an observable sequence and throws an exception if there is not exactly one element in the observable sequence. + + Source observable sequence. + The single element in the observable sequence. + + + + Returns the only element of an observable sequence, or a default value if the observable sequence is empty; this method throws an exception if there is more than one element in the observable sequence. + + Source observable sequence. + The single element in the observable sequence, or a default value if no value is found. + + + + Returns the only element of an observable sequence that matches the predicate and throws an exception if there is not exactly one element in the observable sequence. + + Source observable sequence. + A predicate function to evaluate for elements in the sequence. + The single element in the observable sequence. + + + + Returns the only element of an observable sequence that matches the predicate, or a default value if no value is found; this method throws an exception if there is more than one element in the observable sequence. + + Source observable sequence. + A predicate function to evaluate for elements in the sequence. + The single element in the observable sequence, or a default value if no value is found. + + + + Invokes an action for each element in the observable sequence, and blocks until the sequence is terminated. + + Source sequence. + Action to invoke for each element in the observable sequence. + Because of its blocking nature, this operator is mainly used for testing. + + + + Asynchronously notify observers on the specified scheduler. + + Source sequence. + Scheduler to notify observers on. + The source sequence whose observations happen on the specified scheduler. + + + + Asynchronously subscribes and unsubscribes observers on the specified scheduler. + + Source sequence. + Scheduler to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified scheduler. + + + + Asynchronously subscribes and unsubscribes observers on the specified synchronization context. + + Source sequence. + Synchronization context to perform subscription and unsubscription actions on. + The source sequence whose subscriptions and unsubscriptions happen on the specified synchronization context. + + + + Asynchronously notify observers on the specified synchronization context. + + Source sequence. + Synchronization context to notify observers on. + The source sequence whose observations happen on the specified synchronization context. + + + + Synchronizes the observable sequence. + + Source sequence. + The source sequence whose outgoing calls to observers are synchronized. + + + + Synchronizes the observable sequence. + + Source sequence. + Gate object to synchronize each observer call on. + The source sequence whose outgoing calls to observers are synchronized on the given gate object. + + + + Exposes an observable sequence as an object with a .NET event. + + Observable source sequence. + The event source object. + + + + Exposes an observable sequence as an object with a .NET event. + + Observable source sequence. + The event source object. + + + + Exposes an observable sequence as an object with a .NET event. + + Observable source sequence. + The event source object. + + + + Returns a non-terminating observable sequence. + + Observable sequence whose observers will never get called. + + + + Returns an empty observable sequence. + + Observable sequence with no elements. + + + + Returns an empty observable sequence. + + Scheduler to send the termination call on. + Observable sequence with no elements. + + + + Returns an observable sequence that contains a single element. + + Single element in the resulting observable sequence. + Observable sequence containing the single specified element. + + + + Returns an observable sequence that contains a single value. + + Single element in the resulting observable sequence. + Scheduler to send the single element on. + Observable sequence containing the single specified element. + + + + Returns an observable sequence that terminates with an exception. + + Exception object used for the sequence's termination. + The observable sequence that terminates exceptionally with the specified exception object. + + + + Returns an observable sequence that terminates with an exception. + + Exception object used for the sequence's termination. + Scheduler to send the exceptional termination call on. + The observable sequence that terminates exceptionally with the specified exception object. + + + + Subscribes an observer to an enumerable sequence. + + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Disposable object that can be used to unsubscribe the observer from the enumerable + + + + Subscribes an observer to an enumerable sequence. + + Enumerable sequence to subscribe to. + Observer that will receive notifications from the enumerable sequence. + Scheduler to perform the enumeration on. + Disposable object that can be used to unsubscribe the observer from the enumerable + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence. + + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence, using reflection to find an instance event. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence, using reflection to find a static event. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence, using reflection to find an instance event. + + Object instance that exposes the event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event, conforming to the standard .NET event pattern, to an observable sequence, using reflection to find a static event. + + Type that exposes the static event to convert. + Name of the event to convert. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event to an observable sequence. + + A function used to convert the given event handler to a delegate compatible with the underlying .NET event. The resulting delegate is used in calls to the addHandler and removeHandler action parameters. + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event to an observable sequence. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event to an observable sequence. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Converts a .NET event to an observable sequence. + + Action that attaches the given event handler to the underlying .NET event. + Action that detaches the given event handler from the underlying .NET event. + The observable sequence that contains data representations of invocations of the underlying .NET event. + + + + + Generates an observable sequence by iterating a state from an initial state until the condition fails. + + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Scheduler on which to run the generator loop. + The generated sequence. + + + + Generates an observable sequence by iterating a state from an initial state until the condition fails. + + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + The generated sequence. + + + + Returns an observable sequence that invokes the observableFactory function whenever a new observer subscribes. + + Observable factory function to invoke for each observer that subscribes to the resulting sequence. + Observable sequence whose observers trigger an invocation of the given observable factory function. + + + + Constructs an observable sequence that depends on a resource object, whose lifetime is tied to the resulting observable sequence's lifetime. + + Factory function to obtain a resource object. + Factory function to obtain an observable sequence that depends on the obtained resource. + Observable sequence whose lifetime controls the lifetime of the dependent resource object. + + + + Converts an enumerable sequence to an observable sequence. + + Enumerable sequence to convert to an observable sequence. + The observable sequence whose elements are pulled from the given enumerable sequence. + + + + Converts an enumerable sequence to an observable sequence. + + Enumerable sequence to convert to an observable sequence. + Scheduler to run the enumeration of the input sequence on. + The observable sequence whose elements are pulled from the given enumerable sequence. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + Implementation of the resulting observable sequence's Subscribe method. + The observable sequence with the specified implementation for the Subscribe method. + Use of this operator is preferred over manual implementation of the IObservable<T> interface. + + + + Creates an observable sequence from a specified Subscribe method implementation. + + Implementation of the resulting observable sequence's Subscribe method, returning an Action delegate that will be wrapped in an IDisposable. + The observable sequence with the specified implementation for the Subscribe method. + Use of this operator is preferred over manual implementation of the IObservable<T> interface. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + An observable sequence that contains a range of sequential integral numbers. + + + + Generates an observable sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + Scheduler to run the generator loop on. + An observable sequence that contains a range of sequential integral numbers. + + + + Repeats the observable sequence indefinitely. + + Observable sequence to repeat. + The observable sequence producing the elements of the given sequence repeatedly and sequentially. + + + + Repeats the observable sequence a specified number of times. + + Observable sequence to repeat. + Number of times to repeat the sequence. + The observable sequence producing the elements of the given sequence repeatedly. + + + + Repeats the source observable sequence until it successfully terminates. + + Observable sequence to repeat until it successfully terminates. + Observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + + + + Repeats the source observable sequence the specified number of times or until it successfully terminates. + + Observable sequence to repeat until it successfully terminates. + Number of times to repeat the sequence. + Observable sequence producing the elements of the given sequence repeatedly until it terminates successfully. + + + + Generates an observable sequence that repeats the given element infinitely. + + Element to repeat. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + Element to repeat. + Number of times to repeat the element. + Scheduler to run the producer loop on. + An observable sequence that repeats the given element the specified number of times. + + + + Generates an observable sequence that repeats the given element infinitely. + + Element to repeat. + An observable sequence that repeats the given element infinitely. + + + + Generates an observable sequence that repeats the given element the specified number of times. + + Element to repeat. + Number of times to repeat the element. + An observable sequence that repeats the given element the specified number of times. + + + + Matches when both observable sequences have an available value. + + + + + Matches when the observable sequence has an available value and projects the value. + + + + + Joins together the results from several patterns. + + + + + Joins together the results from several patterns. + + + + + Merges an observable sequence of observable sequences into an observable sequence. + + Observable sequence of inner observable sequences. + The observable sequence that merges the elements of the inner sequences. + + + + Transforms an observable sequence of observable sequences into an observable sequence producing values only from the most recent observable sequence. + + Observable sequence of inner observable sequences. + The observable sequence that at any point in time produces the elements of the most recent inner observable sequence that has been received. + + + + Concatenates two observable sequences. + + First observable sequence. + Second observable sequence. + An observable sequence that contains the elements of the first sequence, followed by those of the second the sequence. + + + + Concatenates all the observable sequences. + + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + + + + Concatenates an enumerable sequence of observable sequences. + + Observable sequences to concatenate. + An observable sequence that contains the elements of each given sequence, in sequential order. + + + + Merges an enumerable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + + + + Merges an enumerable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + Enumerable sequence of observable sequences. + Maximum number of observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the observable sequences. + + + + Merges an observable sequence of observable sequences into an observable sequence, limiting the number of concurrent subscriptions to inner sequences. + + Observable sequence of inner observable sequences. + Maximum number of inner observable sequences being subscribed to concurrently. + The observable sequence that merges the elements of the inner sequences. + + + + Concatenates an observable sequence of observable sequences. + + Observable sequence of inner observable sequences. + An observable sequence that contains the elements of each observed inner sequence, in sequential order. + + + + Continues an observable sequence that is terminated by an exception of the specified type with the observable sequence produced by the handler. + + Source sequence. + Exception handler function, producing another observable sequence. + An observable sequence containing the source sequence's elements, followed by the elements produced by the handler's resulting observable sequence in case an exception occurred. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results when an error occurred in the first sequence. + An observable sequence containing the first sequence's elements, followed by the elements of the second sequence in case an exception occurred. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + + + + Continues an observable sequence that is terminated by an exception with the next observable sequence. + + Observable sequences to catch exceptions for. + An observable sequence containing elements from consecutive source sequences until a source sequence terminates successfully. + + + + Continues an observable sequence that is terminated normally or by an exception with the next observable sequence. + + First observable sequence whose exception (if any) is caught. + Second observable sequence used to produce results after the first sequence terminates. + An observable sequence that concatenates the first and second sequence, even if the first sequence terminates exceptionally. + + + + Continues an observable sequence that is terminated normally or by an exception with the next observable sequence. + + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + + + + Continues an observable sequence that is terminated normally or by an exception with the next observable sequence. + + Observable sequences to concatenate. + An observable sequence that concatenates the source sequences, even if a sequence terminates exceptionally. + + + + Merges two observable sequences into one observable sequence by combining their elements in a pairwise fashion. + + First observable source. + Second observable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + + + + Merges an observable sequence and an enumerable sequence into one observable sequence by using the selector function. + + First observable source. + Second enumerable source. + Function to invoke for each consecutive pair of elements from the first and second source. + An observable sequence containing the result of pairwise combining the elements of the first and second source using the specified result selector function. + + + + Merges two observable sequences into one observable sequence by using the selector function whenever one of the observable sequences produces an element. + + First observable source. + Second observable source. + Function to invoke whenever either of the sources produces an element. + An observable sequence containing the result of combining elements of both sources using the specified result selector function. + + + + Propagates the observable sequence that reacts first. + + First observable sequence. + Second observable sequence. + An observable sequence that surfaces either of the given sequences, whichever reacted first. + + + + Propagates the observable sequence that reacts first. + + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + + + + Propagates the observable sequence that reacts first. + + Observable sources competing to react first. + An observable sequence that surfaces any of the given sequences, whichever reacted first. + + + + Returns the values from the source observable sequence until the other observable sequence produces a value. + + Source sequence to propagate elements for. + Observable sequence that terminates propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence up to the point the other sequence interrupted further propagation. + + + + Returns the values from the source observable sequence only after the other observable sequence produces a value. + + Source sequence to propagate elements for. + Observable sequence that triggers propagation of elements of the source sequence. + An observable sequence containing the elements of the source sequence starting from the point the other sequence triggered propagation. + + + + Merges two observable sequences into a single observable sequence. + + First observable sequence. + Second observable sequence. + Scheduler used to introduce concurrency for making subscriptions to the given sequences. + The observable sequence that merges the elements of the given sequences. + + + + Merges two observable sequences into a single observable sequence. + + First observable sequence. + Second observable sequence. + The observable sequence that merges the elements of the given sequences. + + + + Merges all the observable sequences into a single observable sequence. + + Observable sequences. + The observable sequence that merges the elements of the observable sequences. + + + + Merges all the observable sequences into a single observable sequence. + + Observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + + + + Merges an enumerable sequence of observable sequences into a single observable sequence. + + Enumerable sequence of observable sequences. + The observable sequence that merges the elements of the observable sequences. + + + + Merges an enumerable sequence of observable sequences into a single observable sequence. + + Enumerable sequence of observable sequences. + Scheduler to run the enumeration of the sequence of sources on. + The observable sequence that merges the elements of the observable sequences. + + + + Projects each element of an observable sequence into zero or more windows. + + Source sequence to produce windows over. + Observable sequence whose elements denote the creation of new windows. + A function invoked to define the closing of each produced window. + An observable sequence of windows. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows. + + Source sequence to produce windows over. + A function invoked to define the boundaries of the produced windows. A new window is started when the previous one is closed. + An observable sequence of windows. + + + + Projects each element of an observable sequence into zero or more buffers. + + Source sequence to produce buffers over. + Observable sequence whose elements denote the creation of new buffers. + A function invoked to define the closing of each produced buffer. + An observable sequence of buffers. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers. + + Source sequence to produce buffers over. + A function invoked to define the boundaries of the produced buffers. A new buffer is started when the previous one is closed. + An observable sequence of buffers. + + + + Materializes the implicit notifications of an observable sequence as explicit notification values. + + An observable sequence to get notification values for. + An observable sequence containing the materialized notification values from the source sequence. + + + + Dematerializes the explicit notification values of an observable sequence as implicit notifications. + + An observable sequence containing explicit notification values which have to be turned into implicit notifications. + An observable sequence exhibiting the behavior corresponding to the source sequence's notification values. + + + + Hides the identity of an observable sequence. + + An observable sequence whose identity to hide. + An observable sequence that hides the identity of the source sequence. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on element count information. + + Source sequence to produce windows over. + Length of each window. + Number of elements to skip between creation of consecutive windows. + An observable sequence of windows. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on element count information. + + Source sequence to produce windows over. + Length of each window. + An observable sequence of windows. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on element count information. + + Source sequence to produce buffers over. + Length of each buffer. + Number of elements to skip between creation of consecutive buffers. + An observable sequence of buffers. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on element count information. + + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + + + + Prepends a sequence of values to an observable sequence. + + Source sequence to prepend values to. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + + + + Prepends a sequence of values to an observable sequence. + + Source sequence to prepend values to. + Scheduler to emit the prepended values on. + Values to prepend to the specified sequence. + The source sequence prepended with the specified values. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. The specified seed value is used as the initial accumulator value. + + An observable sequence to accumulate over. + The initial accumulator value. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + + + + Applies an accumulator function over an observable sequence and returns each intermediate result. + + An observable sequence to accumulate over. + An accumulator function to be invoked on each element. + An observable sequence containing the accumulated values. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector and the comparer. + + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + Equality comparer for computed key values. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the comparer. + + An observable sequence to retain distinct contiguous elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct contiguous elements from the source sequence. + + + + Returns an observable sequence that contains only distinct contiguous elements according to the keySelector. + + An observable sequence to retain distinct contiguous elements for, based on a computed key value. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct contiguous elements, based on a computed key value, from the source sequence. + + + + Returns an observable sequence that contains only distinct contiguous elements. + + An observable sequence to retain distinct contiguous elements for. + An observable sequence only containing the distinct contiguous elements from the source sequence. + + + + Returns an observable sequence that contains only distinct elements. + + An observable sequence to retain distinct elements for. + An observable sequence only containing the distinct elements from the source sequence. + + + + Returns an observable sequence that contains only distinct elements according to the comparer. + + An observable sequence to retain distinct elements for. + Equality comparer for source elements. + An observable sequence only containing the distinct elements from the source sequence. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector. + + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + + + + Returns an observable sequence that contains only distinct elements according to the keySelector and the comparer. + + An observable sequence to retain distinct elements for. + A function to compute the comparison key for each element. + Equality comparer for source elements. + An observable sequence only containing the distinct elements, based on a computed key value, from the source sequence. + + + + Invokes a specified action after source observable sequence terminates normally or by an exception. + + Source sequence. + Action to invoke after the source observable sequence terminates. + Source sequence with the action-invoking termination behavior applied. + + + + Invokes an action for each element in the observable sequence. + + Source sequence. + Action to invoke for each element in the observable sequence. + The source sequence with the side-effecting behavior applied. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful termination of the observable sequence. + + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + + + + Invokes an action for each element in the observable sequence and invokes an action upon exceptional termination of the observable sequence. + + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + + + + Invokes an action for each element in the observable sequence and invokes an action upon graceful or exceptional termination of the observable sequence. + + Source sequence. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + The source sequence with the side-effecting behavior applied. + + + + Invokes the observer's methods for their side-effects. + + Source sequence. + Observer whose methods to invoke as part of the source sequence's observation. + The source sequence with the side-effecting behavior applied. + + + + Bypasses a specified number of elements at the end of an observable sequence. + + Source sequence. + Number of elements to bypass at the end of the source sequence. + An observable sequence containing the source sequence elements except for the bypassed ones at the end. + + + + Returns a specified number of contiguous elements from the end of an observable sequence. + + Source sequence. + Number of elements to take from the end of the source sequence. + An observable sequence containing the specified number of elements from the of the source sequence. + + + + Ignores all values in an observable sequence leaving only the termination messages. + + Source sequence. + An empty observable sequence that signals termination, successful or exceptional, of the source sequence. + + + + Returns the element at a specified index in a sequence. + + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence. + + + + Returns the element at a specified index in a sequence or a default value if the index is out of range. + + Observable sequence to return the element from. + The zero-based index of the element to retrieve. + An observable sequence that produces the element at the specified position in the source sequence, or a default value if the index is outside the bounds of the source sequence. + + + + Returns the elements of the specified sequence or the type parameter's default value in a singleton sequence if the sequence is empty. + + The sequence to return a default value for if it is empty. + An observable sequence that contains the default value for the TSource type if the source is empty; otherwise, the elements of the source itself. + + + + Returns the elements of the specified sequence or the specified value in a singleton sequence if the sequence is empty. + + The sequence to return the specified value for if it is empty. + The value to return if the sequence is empty. + An observable sequence that contains the specified default value if the source is empty; otherwise, the elements of the source itself. + + + + Projects each element of an observable sequence into a new form. + + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + + + + Projects each element of an observable sequence into a new form by incorporating the element's index. + + A sequence of elements to invoke a transform function on. + A transform function to apply to each source element; the second parameter of the function represents the index of the source element. + An observable sequence whose elements are the result of invoking the transform function on each element of source. + + + + Filters the elements of an observable sequence based on a predicate. + + An observable sequence whose elements to filter. + A function to test each source element for a condition. + An observable sequence that contains elements from the input sequence that satisfy the condition. + + + + Filters the elements of an observable sequence based on a predicate by incorporating the element's index. + + An observable sequence whose elements to filter. + A function to test each source element for a conditio; the second parameter of the function represents the index of the source element. + An observable sequence that contains elements from the input sequence that satisfy the condition. + + + + Groups the elements of an observable sequence and selects the resulting elements by using a specified function. + + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + + An observable sequence whose elements to group. + A function to extract the key for each element. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + + + + Groups the elements of an observable sequence according to a specified key selector function. + + An observable sequence whose elements to group. + A function to extract the key for each element. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + An equality comparer to compare keys with. + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. + + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + + + + Groups the elements of an observable sequence according to a specified key selector function and selects the resulting elements by using a specified function. + A duration selector function is used to control the lifetime of groups. + + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to map each source element to an element in an observable group. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + + + + Groups the elements of an observable sequence according to a specified key selector function and comparer. + A duration selector function is used to control the lifetime of groups. + + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + An equality comparer to compare keys with. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + + + + Groups the elements of an observable sequence according to a specified key selector function. + A duration selector function is used to control the lifetime of groups. + + An observable sequence whose elements to group. + A function to extract the key for each element. + A function to signal the expiration of a group. + + A sequence of observable groups, each of which corresponds to a unique key value, containing all elements that share that same key value. + If a group's lifetime expires, a new group with the same key value can be created once an element with such a key value is encoutered. + + + + + Returns a specified number of contiguous values from the start of an observable sequence. + + The sequence to take elements from. + The number of elements to return. + An observable sequence that contains the specified number of elements from the start of the input sequence. + + + + Bypasses a specified number of values in an observable sequence and then returns the remaining values. + + The sequence to take elements from. + The number of elements to skip before returning the remaining elements. + An observable sequence that contains the elements that occur after the specified index in the input sequence. + + + + Returns values from an observable sequence as long as a specified condition is true, and then skips the remaining values. + + A sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + + + + Returns values from an observable sequence as long as a specified condition is true, and then skips the remaining values. + + A sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence that occur before the element at which the test no longer passes. + + + + Bypasses values in an observable sequence as long as a specified condition is true and then returns the remaining values. + + An observable sequence to return elements from. + A function to test each element for a condition. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + + + + Bypasses values in an observable sequence as long as a specified condition is true and then returns the remaining values. + + An observable sequence to return elements from. + A function to test each element for a condition; the second parameter of the function represents the index of the source element. + An observable sequence that contains the elements from the input sequence starting at the first element in the linear series that does not pass the test specified by predicate. + + + + Projects each element of an observable sequence to an observable sequence and flattens the resulting observable sequences into one observable sequence. + + An observable sequence of elements to project. + An observable sequence to project each element from the source sequence onto. + An observable sequence whose elements are the result of projecting each source element onto the other sequence and merging all the resulting sequences together. + + + + Projects each element of an observable sequence to an observable sequence and flattens the resulting observable sequences into one observable sequence. + + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + + + + Projects each element of an observable sequence to an observable sequence and flattens the resulting observable sequences into one observable sequence. + + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply when an error occurs in the source sequence. + A transform function to apply when the end of the source sequence is reached. + An observable sequence whose elements are the result of invoking the one-to-many transform function corresponding to each notification in the input sequence. + + + + Projects each element of an observable sequence to an observable sequence and flattens the resulting observable sequences into one observable sequence. + + An observable sequence of elements to project. + A transform function to apply to each element. + An observable sequence whose elements are the result of invoking the one-to-many transform function on each element of the input sequence. + + + + Projects each element of an observable sequence to an observable sequence and flattens the resulting observable sequences into one observable sequence. + + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + + + + Projects each element of an observable sequence to an observable sequence and flattens the resulting observable sequences into one observable sequence. + + An observable sequence of elements to project. + A transform function to apply to each element. + A transform function to apply to each element of the intermediate sequence. + An observable sequence whose elements are the result of invoking the one-to-many transform function collectionSelector on each element of the input sequence and then mapping each of those sequence elements and their corresponding source element to a result element. + + + + Filters the elements of an observable sequence based on the specified type. + + An observable sequence that contains elements from the input sequence of type TResult. + + + + Converts the elements of an observable sequence to the specified type. + + An observable sequence that contains each element of the source sequence converted to the specified type. + + + + Correlates the elements of two sequences based on overlapping durations. + + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any two overlapping elements of the left and right observable sequences. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + + + + Correlates the elements of two sequences based on overlapping durations, and groups the results. + + The left observable sequence to join elements for. + The right observable sequence to join elements for. + A function to select the duration of each element of the left observable sequence, used to determine overlap. + A function to select the duration of each element of the right observable sequence, used to determine overlap. + A function invoked to compute a result element for any element of the left sequence with overlapping elements from the right observable sequence. + An observable sequence that contains result elements computed from source elements that have an overlapping duration. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. + An observable sequence that produces a value after each period. + + + + Returns an observable sequence that produces a value after each period. + + Period for producing the values in the resulting sequence. + Scheduler to run the timer on. + An observable sequence that produces a value after each period. + + + + Returns an observable sequence that produces a value after the dueTime has elapsed. + + Relative time at which to produce the value. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a value at dueTime. + + Absolute time at which to produce the value. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that produces a value after dueTime has elapsed and then after each period. + + Relative time at which to produce the first value. + Period to produce subsequent values. + An observable sequence that produces a value after due time has elapsed and then after each period. + + + + Returns an observable sequence that produces a value at dueTime and then after each period. + + Absolute time at which to produce the first value. + Period to produce subsequent values. + An observable sequence that produces a value at due time and then after each period. + + + + Returns an observable sequence that produces a value after the dueTime has elapsed. + + Relative time at which to produce the value. + Scheduler to run the timer on. + An observable sequence that produces a value after the due time has elapsed. + + + + Returns an observable sequence that produces a value at dueTime. + + Absolute time at which to produce the value. + Scheduler to run the timer on. + An observable sequence that produces a value at due time. + + + + Returns an observable sequence that produces a value after dueTime has elapsed and then after each period. + + Relative time at which to produce the first value. + Period to produce subsequent values. + Scheduler to run the timer on. + An observable sequence that produces a value after due time has elapsed and then each period. + + + + Returns an observable sequence that produces a value at dueTime and then after each period. + + Absolute time at which to produce the first value. + Period to produce subsequent values. + Scheduler to run the timer on. + An observable sequence that produces a value at due time and then after each period. + + + + Time shifts the observable sequence by dueTime. + The relative time intervals between the values are preserved. + + Source sequence to delay values for. + Relative time by which to shift the observable sequence. + Time-shifted sequence. + + + + Time shifts the observable sequence by dueTime. + The relative time intervals between the values are preserved. + + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. + Time-shifted sequence. + + + + Time shifts the observable sequence by dueTime. + The relative time intervals between the values are preserved. + + Source sequence to delay values for. + Relative time by which to shift the observable sequence. + Scheduler to run the delay timers on. + Time-shifted sequence. + + + + Time shifts the observable sequence by dueTime. + The relative time intervals between the values are preserved. + + Source sequence to delay values for. + Absolute time used to shift the observable sequence; the relative time shift gets computed upon subscription. + Scheduler to run the delay timers on. + Time-shifted sequence. + + + + Ignores values from an observable sequence which are followed by another value before dueTime. + + Source sequence to throttle. + Duration of the throttle period for each value. + The throttled sequence. + + + + Ignores values from an observable sequence which are followed by another value before dueTime. + + Source sequence to throttle. + Duration of the throttle period for each value. + Scheduler to run the throttle timers on. + The throttled sequence. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + Scheduler to run windowing timers on. + An observable sequence of windows. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + Source sequence to produce windows over. + Length of each window. + Scheduler to run windowing timers on. + An observable sequence of windows. + + + + Projects each element of an observable sequence into zero or more windows which are produced based on timing information. + + Source sequence to produce windows over. + Length of each window. + Interval between creation of consecutive windows. + An observable sequence of windows. + + + + Projects each element of an observable sequence into consecutive non-overlapping windows which are produced based on timing information. + + Source sequence to produce windows over. + Length of each window. + The sequence of windows. + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + Scheduler to run windowing timers on. + An observable sequence of windows. + + + + Projects each element of an observable sequence into a window that is completed when either it's full or a given amount of time has elapsed. + + Source sequence to produce windows over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of windows. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + Scheduler to run buffering timers on. + An observable sequence of buffers. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + Source sequence to produce buffers over. + Length of each buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + + + + Projects each element of an observable sequence into zero or more buffers which are produced based on timing information. + + Source sequence to produce buffers over. + Length of each buffer. + Interval between creation of consecutive buffers. + An observable sequence of buffers. + + + + Projects each element of an observable sequence into consecutive non-overlapping buffers which are produced based on timing information. + + Source sequence to produce buffers over. + Length of each buffer. + An observable sequence of buffers. + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + + Source sequence to produce buffers over. + Maximum time length of a buffer. + Maximum element count of a buffer. + Scheduler to run buffering timers on. + An observable sequence of buffers. + + + + Projects each element of an observable sequence into a buffer that's sent out when either it's full or a given amount of time has elapsed. + + Source sequence to produce buffers over. + Maximum time length of a window. + Maximum element count of a window. + An observable sequence of buffers. + + + + Records the time interval between consecutive values in an observable sequence. + + Source sequence to record time intervals for. + Scheduler used to compute time intervals. + An observable sequence with time interval information on values. + + + + Records the time interval between consecutive values in an observable sequence. + + Source sequence to record time intervals for. + An observable sequence with time interval information on values. + + + + Records the timestamp for each value in an observable sequence. + + Source sequence to timestamp values for. + Scheduler used to compute timestamps. + An observable sequence with timestamp information on values. + + + + Records the timestamp for each value in an observable sequence. + + Source sequence to timestamp values for. + An observable sequence with timestamp information on values. + + + + Samples the observable sequence at sampling ticks. + + Source sequence to sample. + Sampling tick sequence. + Sampled observable sequence. + + + + Samples the observable sequence at each interval. + + Source sequence to sample. + Interval at which to sample. + Scheduler to run the sampling timer on. + Sampled observable sequence. + + + + Samples the observable sequence at each interval. + + Source sequence to sample. + Interval at which to sample. + Sampled observable sequence. + + + + Returns either the observable sequence or an TimeoutException if dueTime elapses. + + Source sequence to perform a timeout for. + Maxmimum duration between values before a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + + + + Returns the source observable sequence or the other observable sequence if dueTime elapses. + + Source sequence to perform a timeout for. + Maxmimum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + + + + Returns either the observable sequence or an TimeoutException if dueTime elapses. + + Source sequence to perform a timeout for. + Time when a timeout occurs. + The source sequence with a TimeoutException in case of a timeout. + + + + Returns the source observable sequence or the other observable sequence if dueTime elapses. + + Source sequence to perform a timeout for. + Time when a timeout occurs. + Sequence to return in case of a timeout. + The source sequence switching to the other sequence in case of a timeout. + + + + Returns either the observable sequence or an TimeoutException if dueTime elapses. + + Source sequence to perform a timeout for. + Maxmimum duration between values before a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + + + + Returns the source observable sequence or the other observable sequence if dueTime elapses. + + Source sequence to perform a timeout for. + Maxmimum duration between values before a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + + + + Returns either the observable sequence or an TimeoutException if dueTime elapses. + + Source sequence to perform a timeout for. + Time when a timeout occurs. + Scheduler to run the timeout timers on. + The source sequence with a TimeoutException in case of a timeout. + + + + Returns the source observable sequence or the other observable sequence if dueTime elapses. + + Source sequence to perform a timeout for. + Time when a timeout occurs. + Sequence to return in case of a timeout. + Scheduler to run the timeout timers on. + The source sequence switching to the other sequence in case of a timeout. + + + + Generates an observable sequence by iterating a state from an initial state until the condition fails. + + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + + + + Generates an observable sequence by iterating a state from an initial state until the condition fails. + + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + + + + Generates an observable sequence by iterating a state from an initial state until the condition fails. + + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + Scheduler on which to run the generator loop. + The generated sequence. + + + + Generates an observable sequence by iterating a state from an initial state until the condition fails. + + Initial state. + Condition to terminate generation (upon returning false). + Iteration step function. + Selector function for results produced in the sequence. + Time selector function to control the speed of values being produced each iteration. + The generated sequence. + + + + Creates an instance of IComparer by providing a method that compares two objects. + + + + + Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other. + + + + + Indicates the type of a notification. + + + + + Represents an OnNext notification. + + + + + Represents an OnError notification. + + + + + Represents an OnCompleted notification. + + + + + Represents a notification to an observer. + + + + + Indicates whether this instance and other are equal. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Indicates whether left and right arguments are equal. + + + + + Indicates whether left and right arguments are not equal. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns an observable sequence with a single notification, using the immediate scheduler. + + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns an observable sequence with a single notification. + + Scheduler to send out the notification calls on. + The observable sequence that surfaces the behavior of the notification upon subscription. + + + + Returns the value of an OnNext notification or throws an exception. + + + + + Returns a value that indicates whether the notification has a value. + + + + + Returns the exception of an OnError notification or returns null. + + + + + Gets the kind of notification that is represented. + + + + + Represents a OnNext notification to an observer. + + + + + Constructs a notification of a new value. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Returns the value of an OnNext notification. + + + + + Returns null. + + + + + Returns true. + + + + + Returns NotificationKind.OnNext. + + + + + Represents a OnError notification to an observer. + + + + + Constructs a notification of an exception. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws the exception. + + + + + Returns the exception. + + + + + Returns false. + + + + + Returns NotificationKind.OnError. + + + + + Represents a OnCompleted notification to an observer. + + + + + Constructs a notification of the end of a sequence. + + + + + Returns the hash code for this instance. + + + + + Indicates whether this instance and other are equal. + + + + + Returns a string representation of this instance. + + + + + Invokes the observer's method corresponding to the notification. + + Observer to invoke the notification on. + + + + Invokes the delegate corresponding to the notification. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + + + + Invokes the delegate corresponding to the notification and returns the produced result. + + Delegate to invoke for an OnNext notification. + Delegate to invoke for an OnError notification. + Delegate to invoke for an OnCompleted notification. + Result produced by the observation. + + + + Throws an InvalidOperationException. + + + + + Returns null. + + + + + Returns false. + + + + + Returns NotificationKind.OnCompleted. + + + + + Provides a set of static methods for constructing notifications. + + + + + Creates an object that represents an OnNext notification to an observer. + + The value contained in the notification. + The OnNext notification containing the value. + + + + Creates an object that represents an OnError notification to an observer. + + The exception contained in the notification. + The OnError notification containing the exception. + + + + Creates an object that represents an OnCompleted notification to an observer. + + The OnCompleted notification. + + + + Represents an object that schedules units of work on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Represents an object that schedules units of work. + + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Gets a value that indicates whether the caller must call a schedule method. + + + + + Represents an object that schedules units of work on a designated thread. + + + + + Creates an object that schedules units of work on a designated thread. + + + + + Creates an object that schedules units of work on a designated thread. + + Factory function for thread creation. + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Ends the thread associated with this scheduler. + + + + + Gets the scheduler's notion of current time. + + + + + Represents the base class for historical schedulers, virtual time schedulers that use DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Represents the base class for virtual time schedulers. + + + + + Creates a new virtual time scheduler with the default value of TAbsolute for the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Adds a relative time to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Starts the virtual time scheduler. + + + + + Stops the virtual time scheduler. + + + + + Advances the scheduler's clock to the specified time, running all work till that point. + + Absolute time to advance the scheduler's clock to. + + + + Advances the scheduler's clock by the specified relative time, running all work scheduled for that timespan. + + Relative time to advance the scheduler's clock by. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Gets whether the scheduler is enabled to run work. + + + + + Gets the comparer used to compare absolute time values. + + + + + Gets the scheduler's absolute time clock value. + + + + + Gets the scheduler's notion of current time. + + + + + Creates a new historical scheduler, using the minimum value of DateTimeOffset as the initial clock value. + + + + + Adds a relative time to an absolute time value. + + Absolute time value. + Relative time value to add. + The resulting absolute time sum value. + + + + Converts the absolute time value to a DateTimeOffset value. + + Absolute time value to convert. + The corresponding DateTimeOffset value. + + + + Converts the TimeSpan value to a relative time value. + + TimeSpan value to convert. + The corresponding relative time value. + + + + Provides a virtual time scheduler that uses DateTimeOffset for absolute time and TimeSpan for relative time. + + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Represents an object that schedules units of work to run immediately on the current thread. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Represents an object that schedules each unit of work on a separate thread. + + An instance of this type, with default thread creation options, is exposed through this static property. + + + + Creates an object that schedules each unit of work on a separate thread. + + + + + Creates an object that schedules each unit of work on a separate thread. + + Factory function for thread creation. + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Represents a work item that has been scheduled. + + + + + Invokes the work item. + + + + + Get the absolute time at which the item executes. + + + + + Provides a set of static methods for creating Schedulers. + + + + + Ensures that no time spans are negative. + + The time span to normalize. + The time span if it zero or positive otherwise TimeSpan.Zero. + + + + Schedules an action to be executed. + + Scheduler to execute the action on. + Action to execute. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + Scheduler to execute the action on. + Action to execute. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + Scheduler to execute the action on. + Action to execute. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + Action to execute recursively. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed recursively. + + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed recursively after each dueTime. + + Scheduler to execute the recursive action on. + Action to execute recursively. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed recursively after each dueTime. + + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. + Relative time after which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed recursively at each dueTime. + + Scheduler to execute the recursive action on. + Action to execute recursively. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed recursively at each dueTime. + + Scheduler to execute the recursive action on. + State passed to the action to be executed. + Action to execute recursively. + Absolute time at which to execute the action for the first time. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the current date and time. + + + + + Gets the scheduler that schedules work immediately on the current thread. + + + + + Gets the scheduler that schedules work as soon as possible on the current thread. + + + + + Gets the scheduler that schedules work on the ThreadPool. + + + + + Gets the scheduler that schedules work on a new thread. + + + + + Gets the scheduler that schedules work on the default Task Factory. + + + + + Represents an object that schedules units of work on a provided SynchronizationContext. + + + + + Creates an object that schedules units of work on the provided SynchronizationContext. + + Synchronization context to schedule units of work on. + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Represents an object that schedules units of work using a provided TaskFactory. + + An instance of this type, using the default TaskFactory, is exposed through this static property. + + + + Creates an object that schedules units of work using the provided TaskFactory. + + Task factory used to create tasks to run units of work. + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime, using a System.Threading.Timer object. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Represents an object that schedules units of work on the threadpool. + + Singleton instance of this type exposed through this static property. + + + + Schedules an action to be executed. + + State passed to the action to be executed. + Action to be executed. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed after dueTime, using a System.Threading.Timer object. + + State passed to the action to be executed. + Action to be executed. + Relative time after which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Schedules an action to be executed at dueTime, using a System.Threading.Timer object. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Gets the scheduler's notion of current time. + + + + + Represents the base class for virtual time schedulers using a priority queue for scheduled items. + + + + + Creates a new virtual time scheduler with the default value of TAbsolute for the initial clock value. + + + + + Creates a new virtual time scheduler. + + Initial value for the clock. + Comparer to determine causality of events based on absolute time. + + + + Gets the next scheduled item to be executed. + + The next scheduled item. + + + + Schedules an action to be executed at dueTime. + + State passed to the action to be executed. + Action to be executed. + Absolute time at which to execute the action. + The disposable object used to cancel the scheduled action (best effort). + + + + Represents an Action-based disposable. + + + + + Constructs a new disposable with the given action used for disposal. + + Disposal action. + + + + Calls the disposal action. + + + + + Represents an IDisposable that can be checked for status. + + + + + Initializes a new instance of the class. + + + + + Sets the status to Disposed. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents an IDisposable that can be checked for cancellation status. + + + + + Initializes a new instance of the class that uses an existing CancellationTokenSource. + + CancellationTokenSource used for cancellation. + + + + Initializes a new instance of the class that uses a new CancellationTokenSource. + + + + + Cancels the CancellationTokenSource. + + + + + Gets the CancellationToken used by this CancellationDisposable. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a group of Disposables that are disposed together. + + + + + Initializes a new instance of the class from a group of disposables. + + + + + Initializes a new instance of the class with the specified number of disposables. + + The number of disposables that the new CompositeDisposable can initially store. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + + + + Initializes a new instance of the class from a group of disposables. + + Disposables that will be disposed together. + + + + Adds a disposable to the CompositeDisposable or disposes the disposable if the CompositeDisposable is disposed. + + Disposable to add. + + + + Removes and disposes the first occurrence of a disposable from the CompositeDisposable. + + Disposable to remove. + + + + Disposes all disposables in the group and removes them from the group. + + + + + Removes and disposes all disposables from the GroupDisposable, but does not dispose the CompositeDisposable. + + + + + Determines whether the CompositeDisposable contains a specific disposable. + + Disposable to search for. + true if the disposable was found; otherwise, false. + + + + Copies the disposables contained in the CompositeDisposable to an array, starting at a particular array index. + + Array to copy the contained disposables to. + Target index at which to copy the first disposable of the group. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Returns an enumerator that iterates through the CompositeDisposable. + + An enumerator to iterate over the disposables. + + + + Gets the number of disposables contained in the CompositeDisposable. + + + + + Always returns false. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a thread-affine IDisposable. + + + + + Initializes a new instance of the class that uses a SynchronizationContext on which to dispose the disposable. + + Context to perform disposal on. + Disposable whose Dispose operation to run on the given synchronization context. + + + + Disposes the wrapped disposable on the provided SynchronizationContext. + + + + + Gets the provided SynchronizationContext. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents a disposable that does nothing on disposal. + + + + + Singleton default disposable. + + + + + Does nothing. + + + + + Provides a set of static methods for creating Disposables. + + + + + Creates the disposable that invokes the specified action when disposed. + + Action to run during IDisposable.Dispose. + The disposable object that runs the given action upon disposal. + + + + Gets the disposable that does nothing when disposed. + + + + + Represents a disposable whose underlying disposable can be swapped for another disposable. + + + + + Initializes a new instance of the class with no current underlying disposable. + + + + + Disposes the underlying disposable as well as all future replacements. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Gets or sets the underlying disposable. + + If the MutableDisposable has already been disposed, assignment to this property causes immediate disposal of the given disposable object. + + + + Represents a disposable that only disposes its underlying disposable when all dependent disposables have been disposed. + + + + + Initializes a new instance of the class with the specified disposable. + + Underlying disposable. + + + + Disposes the underlying disposable only when all dependent disposables have been disposed. + + + + + Returns a dependent disposable that when disposed decreases the refcount on the underlying disposable. + + A dependent disposable contributing to the reference count that manages the underlying disposable's lifetime. + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents an object that schedules units of work on a provided scheduler. + + + + + Initializes a new instance of the class that uses a scheduler on which to dispose the disposable. + + + + + Disposes the wrapped disposable on the provided scheduler. + + + + + Gets a value that indicates the underlying disposable. + + + + + Gets a value that indicates the scheduler. + + + + + Gets a value that indicates whether the object is disposed. + + + + + Represents an observable that can be connected and disconnected from its source. + + + + + Represents an observable that can be connected and disconnected. + + + + + Connects the observable. + + IDisposable object used to disconnect the observable. + + + + Creates an observable that can be connected and disconnected from its source. + + + + + Connects the observable to its source. + + + + + Subscribes an observer to the observable sequence. + + + + + Provides a set of static methods for creating observers. + + + + + Creates a subject from the specified observer and observable. + + The observer used to publish messages to the subject. + The observable used to subscribe to messages sent from the subject. + Subject implemented using the given observer and observable. + + + + Synchronizes the messages on the subject. + + The subject to synchronize. + Subject whose messages are synchronized. + + + + Synchronizes the messages on the subject and notifies observers on the specified scheduler. + + The subject to synchronize. + Scheduler to notify observers on. + Subject whose messages are synchronized and whose observers are notified on the given scheduler. + + + + Represents an object that is both an observable sequence as well as an observer. + + + + + Represents the result of an asynchronous operation. + + + + + Represents an object that is both an observable sequence as well as an observer. + + + + + Creates a subject that can only receive one value and that value is cached for all future observations. + + + + + Notifies all subscribed observers of the end of the sequence, also causing the last received value to be sent out (if any). + + + + + Notifies all subscribed observers with the exception. + + The exception to send to all subscribed observers. + + + + Sends a value to the subject. The last value received before successful termination will be sent to all subscribed observers. + + The value to store in the subject. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + IDisposable object that can be used to unsubscribe the observer from the subject. + + + + Unsubscribe all observers and release resources. + + + + + Represents a value that changes over time. + + + + + Initializes a new instance of the class which creates a subject that caches its last value and starts with the specified value. + + Initial value sent to observers when no other value has been received by the subject yet. + + + + Notifies all subscribed observers of the end of the sequence. + + + + + Notifies all subscribed observers with the exception. + + The exception to send to all subscribed observers. + + + + Notifies all subscribed observers with the value. + + The value to send to all subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + IDisposable object that can be used to unsubscribe the observer from the subject. + + + + Unsubscribe all observers and release resources. + + + + + Represents an object that is both an observable sequence as well as an observer. + + Fast subjects do not synchronize outgoing calls to subcribed observers using a scheduler. If you need such guarantees, use regular subjects instead. + + + + + Creates a subject. + + + + + Notifies all subscribed observers of the end of the sequence. + + + + + Notifies all subscribed observers with the exception. + + The exception to send to all subscribed observers. + + + + Notifies all subscribed observers with the value. + + The value to send to all subscribed observers. + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + IDisposable object that can be used to unsubscribe the observer from the subject. + + + + Unsubscribe all observers and release resources. + + + + + Represents an observable sequence of values that have a common key. + + + + + Gets the common key. + + + + + Represents a join pattern. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents a join pattern. + + + + + Matches when all observable sequences have an available value and projects the values. + + + + + Represents an execution plan for join patterns. + + + + + Provides a set of static methods for subscribing delegates to observables. + + + + + Evaluates the observable sequence. + + Observable sequence to subscribe to. + IDisposable object used to unsubscribe from the observable sequence. + + + + Subscribes an element handler to an observable sequence. + + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + + + + Subscribes an element handler and an exception handler to an observable sequence. + + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + + + + Subscribes an element handler and a completion handler to an observable sequence. + + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + + + + Subscribes an element handler, an exception handler, and a completion handler to an observable sequence. + + Observable sequence to subscribe to. + Action to invoke for each element in the observable sequence. + Action to invoke upon exceptional termination of the observable sequence. + Action to invoke upon graceful termination of the observable sequence. + IDisposable object used to unsubscribe from the observable sequence. + + + + Provides a set of static methods for creating observers. + + + + + Creates an observer from a notification callback. + + Action that handles a notification. + The observer object that invokes the specified handler using a notification corresponding to each message it receives. + + + + Creates a notification callback from an observer. + + Observer object. + The action that forwards its input notification to the underlying observer. + + + + Creates an observer from the specified OnNext action. + + Observer's OnNext action implementation. + The observer object implemented using the given actions. + + + + Creates an observer from the specified OnNext and OnError actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + The observer object implemented using the given actions. + + + + Creates an observer from the specified OnNext and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + + + + Creates an observer from the specified OnNext, OnError, and OnCompleted actions. + + Observer's OnNext action implementation. + Observer's OnError action implementation. + Observer's OnCompleted action implementation. + The observer object implemented using the given actions. + + + + Hides the identity of an observer. + + An observer whose identity to hide. + An observer that hides the identity of the specified observer. + + + + Synchronizes the observer messages. + + The observer to synchronize. + Gate object to synchronize each observer call on. + The observer whose messages are synchronized on the given gate object. + + + + Synchronizes the observer messages. + + The observer to synchronize. + The observer whose messages are synchronized. + + + + Represents an object that is both an observable sequence as well as an observer. + + Regular subjects do synchronize outgoing calls to subcribed observers using a scheduler. If you don't need such guarantees, use Fast* subjects instead. + + + + Initializes a new instance of the class with the specified buffer size, window and scheduler. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + + + + Initializes a new instance of the class with the specified buffer size and window. + + Maximum element count of the replay buffer. + Maximum time length of the replay buffer. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified scheduler. + + Scheduler the observers are invoked on. + + + + Initializes a new instance of the class with the specified buffer size and scheduler. + + Maximum element count of the replay buffer. + Scheduler the observers are invoked on. + + + + Initializes a new instance of the class with the specified buffer size. + + Maximum element count of the replay buffer. + + + + Initializes a new instance of the class with the specified window and scheduler. + + Maximum time length of the replay buffer. + Scheduler the observers are invoked on. + + + + Initializes a new instance of the class with the specified window. + + Maximum time length of the replay buffer. + + + + Notifies all subscribed observers with the value. + + The value to send to all subscribed observers. + + + + Notifies all subscribed observers with the exception. + + The exception to send to all subscribed observers. + + + + Notifies all subscribed observers of the end of the sequence. + + + + + Subscribes an observer to the subject. + + Observer to subscribe to the subject. + IDisposable object that can be used to unsubscribe the observer from the subject. + + + + Releases all resources used by the current instance of the class and unsubscribe all observers. + + + + + Provides a set of static methods for converting Tasks to IObservables. + + + + + Returns an observable sequence that signals when the task completes. + + Task to convert to an observable sequence. + An observable sequence that produces a unit value when the task completes, or propagates the exception produced by the task. + + + + Returns an observable sequence that propagates the result of the task. + + Task to convert to an observable sequence. + An observable sequence that produces the task's result, or propagates the exception produced by the task. + + + + Returns a task that contains the last value of the observable sequence. + + Observable sequence to convert to a task. + A task that contains the last value of the observable sequence. + + + + Returns a task that contains the last value of the observable sequence. + + Observable sequence to convert to a task. + The state to use as the underlying task's AsyncState. + A task that contains the last value of the observable sequence. + + + + Returns a task that contains the last value of the observable sequence. + + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + A task that contains the last value of the observable sequence. + + + + Returns a task that contains the last value of the observable sequence. + + Observable sequence to convert to a task. + Cancellation token that can be used to cancel the task, causing unsubscription from the observable sequence. + The state to use as the underlying task's AsyncState. + A task that contains the last value of the observable sequence. + + + + Represents a time interval value. + + + + + Constructs a timestamped value. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns the hash code for this instance. + + + + + Returns a string representation of this instance. + + + + + Indicates whether first and second arguments are equal. + + + + + Indicates whether first and second arguments are not equal. + + + + + Gets the interval. + + + + + Gets the value. + + + + + Represents a timestamped value. + + + + + Constructs a timestamped value. + + + + + Indicates whether this instance and a specified object are equal. + + + + + Returns the hash code for this instance. + + + + + Returns a string representation of this instance. + + + + + Indicates whether first and second arguments are equal. + + + + + Indicates whether first and second arguments are not equal. + + + + + Gets the timestamp. + + + + + Gets the value. + + + + + Represents void. + + + + + Indicates whether the current unit is equal to the specified unit. + + Always returns true. + + + + Indicates whether the current unit is equal to the specified object. + + The System.Object to compare with the current Unit. + true if the current unit is equal to the specified object; otherwise, false. + + + + Gets the unit value's hash code. + + The unit value's hash code. + + + + Indicates whether first and second arguments are equal. + + The first Unit to compare, or null. + The second Unit to compare, or null. + Always returns true. + + + + Indicates whether first and second arguments are not equal. + + The first Unit to compare, or null. + The second Unit to compare, or null. + Always returns false. + + + + Gets the single unit value. + + + + diff --git a/CharityPortal/lib/Telerik.Web.Mvc.dll b/CharityPortal/lib/Telerik.Web.Mvc.dll new file mode 100644 index 0000000..2168d8a Binary files /dev/null and b/CharityPortal/lib/Telerik.Web.Mvc.dll differ diff --git a/CharityPortal/lib/Telerik.Web.Mvc.xml b/CharityPortal/lib/Telerik.Web.Mvc.xml new file mode 100644 index 0000000..9ec4fa8 --- /dev/null +++ b/CharityPortal/lib/Telerik.Web.Mvc.xml @@ -0,0 +1,19118 @@ + + + + Telerik.Web.Mvc + + + + + Contains the extension methods of . + + + + + Create Nullable instance of the passed . + + + + + Contains extension methods of . + + + + + Get the Application root path. + + The instance. + + + + + Determines whether this instance can compress the specified instance. + + The instance. + + true if this instance can compress the specified instance; otherwise, false. + + + + + + + + + + + + + + + + + + + + + Basic building block to locate the correct virtual path. + + + + + Returns the correct virtual path based upon the debug mode and version. + + The virtual path. + The version. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Bold. + + + + + Looks up a localized string similar to Insert hyperlink. + + + + + Looks up a localized string similar to Are you sure you want to delete "{0}"?. + + + + + Looks up a localized string similar to A directory with this name was not found.. + + + + + Looks up a localized string similar to Empty Folder. + + + + + Looks up a localized string similar to Select font family. + + + + + Looks up a localized string similar to (inherited font). + + + + + Looks up a localized string similar to Select font size. + + + + + Looks up a localized string similar to (inherited size). + + + + + Looks up a localized string similar to Select block type. + + + + + Looks up a localized string similar to Indent. + + + + + Looks up a localized string similar to Insert HTML. + + + + + Looks up a localized string similar to Insert image. + + + + + Looks up a localized string similar to Insert ordered list. + + + + + Looks up a localized string similar to Insert unordered list. + + + + + Looks up a localized string similar to The selected file \"{0}\" is not valid. Supported file types are {1}.. + + + + + Looks up a localized string similar to Italic. + + + + + Looks up a localized string similar to Center text. + + + + + Looks up a localized string similar to Justify. + + + + + Looks up a localized string similar to Align text left. + + + + + Looks up a localized string similar to Align text right. + + + + + Looks up a localized string similar to Arrange by:. + + + + + Looks up a localized string similar to Name. + + + + + Looks up a localized string similar to Size. + + + + + Looks up a localized string similar to Outdent. + + + + + Looks up a localized string similar to 'A file with name "{0}" already exists in the current directory. Do you want to overwrite it?. + + + + + Looks up a localized string similar to Strikethrough. + + + + + Looks up a localized string similar to Styles. + + + + + Looks up a localized string similar to Underline. + + + + + Looks up a localized string similar to Remove hyperlink. + + + + + Looks up a localized string similar to Upload. + + + + + View component base class. + + + + + Defines the basic building block of scriptable component. + + + + + Writes the initialization script. + + The writer. + + + + Writes the cleanup script. + + The writer. + + + + Gets or sets the asset key. + + The asset key. + + + + Gets or sets the script files path. Path must be a virtual path. + + The script files path. + + + + Gets or sets the script file names. + + The script file names. + + + + Gets the client side object writer factory. + + The client side object writer factory. + + + + Defines whether one navigation item can have content output immediately + + + + + The HtmlAttributes applied to objects which can have child items + + + + + Initializes a new instance of the class. + + The view context. + The client side object writer factory. + + + + Renders the component. + + + + + Writes the initialization script. + + The writer. + + + + Writes the cleanup script. + + The writer. + + + + Writes the HTML. + + + + + Gets or sets the name. + + The name. + + + + Gets the id. + + The id. + + + + Gets the HTML attributes. + + The HTML attributes. + + + + Gets or sets the asset key. + + The asset key. + + + + Gets or sets the script files path. Path must be a virtual path. + + The script files path. + + + + Gets or sets the script file names. + + The script file names. + + + + Gets the client side object writer factory. + + The client side object writer factory. + + + + Gets or sets the view context to rendering a view. + + The view context. + + + + Defines the fluent interface for configuring the component. + + + + + View component Builder base class. + + + + + Helper interface used to hide the base + members from the fluent API to make it much cleaner + in Visual Studio intellisense. + + + + + Equalses the specified value. + + The value. + + + + + Gets the hash code. + + + + + + Gets the type. + + + + + + Toes the string. + + + + + + Initializes a new instance of the class. + + The component. + + + + Performs an implicit conversion from to TViewComponent. + + The builder. + The result of the conversion. + + + + Returns the internal view component. + + + + + + Sets the name of the component. + + The name. + + + + + Sets the web asset key for the component. + + The key. + + + + + Sets the Scripts files path.. Path must be a virtual path. + + The path. + + + + + Sets the Script file names. + + The names. + + + + + Sets the HTML attributes. + + The HTML attributes. + + + + + Sets the HTML attributes. + + The HTML attributes. + + + + + Renders the component. + + + + + Gets the view component. + + The component. + + + + Initializes a new instance of the class. + + The component. + + + + Use it to enable filling the first matched item text. + + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .AutoFill(true) + %> + + + + + + + Use it to configure Data binding. + + Action that configures the data binding options. + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .DataBinding(dataBinding => dataBinding + .Ajax().Select("_AjaxLoading", "ComboBox") + ); + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => + events.OnLoad("onLoad") + ) + %> + + + + + + Configures the effects of the AutoComplete. + + The action which configures the effects. + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .Effects(fx => + { + fx.Slide() + .OpenDuration(AnimationDuration.Normal) + .CloseDuration(AnimationDuration.Normal); + }) + + + + + + Use it to configure filtering settings. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(filtering => filtering.Enabled(true) + .FilterMode(AutoCompleteFilterMode.Contains)); + %> + + + + + + Use it to enable multiple values. + + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .Multiple(); + %> + + + + + + Use it to configure autocompleting multiple values. + + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .Multiple(multi => multi.Enabled(true) + .Separator(" ")); + %> + + + + + + Use it to enable highlighting of first matched item. + + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .HighlightFirstMatch(true) + %> + + + + + + Enables or disables the autocomplete. + + + + + + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Enable or disable autocompleting multiple values into a single field + + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .Multiple(multi => + { + multi.Enabled((bool)ViewData["multiple"]); + }) + %> + + + + + + Set multiple values separator. + + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .Multiple(multi => + { + multi.Separator(", "); + }) + %> + + + + + + Gets the id. + + The id. + + + + Gets the items of the ComboBox. + + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables filtering. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(filtering => + { + filtering.Enabled((bool)ViewData["filtering"]); + }) + %> + + + + The Enabled method is useful when you need to enable/disable filtering based on certain conditions. + + + + + Defines filter mode. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(filtering => + { + filtering.FilterMode(AutoCompleteFilterMode.StartsWith); + }) + %> + + + + + + Set minimum chars number needed to start filtering. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(filtering => + { + filtering.MinimumChars(2); + }) + %> + + + + + + Defines the fluent interface for configuring the component. + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => + events.OnLoad("onLoad") + ) + %> + + + + + + Configures the effects of the dropdownlist. + + The action which configures the effects. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .Effects(fx => + { + fx.Slide() + .OpenDuration(AnimationDuration.Normal) + .CloseDuration(AnimationDuration.Normal); + }) + + + + + + Defines the items in the DropDownList + + The add action. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + + + + + Initializes a new instance of the class. + + The component. + + + + Use it to enable filtering of items. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(); + %> + + + + + + Use it to configure filtering settings. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(filtering => filtering.Enabled(true) + .FilterMode(AutoCompleteFilterMode.Contains)); + %> + + + + + + Use it to enable filling the first matched item text. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .AutoFill(true) + %> + + + + + + Use it to configure Data binding. + + Action that configures the data binding options. + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .DataBinding(dataBinding => dataBinding + .Ajax().Select("_AjaxLoading", "ComboBox") + ); + %> + + + + + + Use it to enable highlighting of first matched item. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .HighlightFirstMatch(true) + %> + + + + + + Use it to set selected item index + + Item index. + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .SelectedIndex(0); + %> + + + + + + Enables or disables the combobox. + + + + + Sets whether to open items list on focus. + + + + + Defines the fluent interface for building + + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables binding. + + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home").Enabled((bool)ViewData["ajax"]); + }) + %> + + + + The Enabled method is useful when you need to enable binding based on certain conditions. + + + + + Sets the action, controller and route values for the select operation + + The route values of the Action method. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select(MVC.Home.Indec(1).GetRouteValueDictionary()); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home", new { {"id", 1} }); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home"); + }) + %> + + + + + + Sets the route and values for the select operation + + Name of the route. + The route values. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the route and values for the select operation + + Name of the route. + The route values. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default", new {id=1}); + }) + %> + + + + + + Sets the route name for the select operation + + Name of the route. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default"); + }) + %> + + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables cache of items. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home").Cache((bool)ViewData["cache"]); + }) + %> + + + + The Cache method is useful when you need to enable/disable caching based on certain conditions. + Default value is true. + + + + + Specifies delay of the Ajax/WebServer request. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home").Delay(400); + }) + %> + + + + The Delay method is useful when you need to postpone request to the server for some time. + + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Defines filter mode. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(filtering => + { + filtering.FilterMode(AutoCompleteFilterMode.StartsWith); + }) + %> + + + + + + Set minimum chars number needed to start filtering. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Filterable(filtering => + { + filtering.MinimumChars(2); + }) + %> + + + + + + Defines the fluent interface for configuring the data binding. + + + + + Initializes a new instance of the class. + + The configuration. + + + + Use it to configure Ajax binding. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .DataBinding(dataBinding => dataBinding + .Ajax().Select("_AjaxLoading", "TreeView") + ) + %> + + + + + + Use it to configure web service binding. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .DataBinding(dataBinding => dataBinding + .WebService().Select("~/Models/ProductDDI.asmx/GetProducts") + ) + %> + + + + + + Defines the fluent interface for building + + + + + Defines the fluent interface for configuring the treeview webservice. + + + + + Initializes a new instance of the class. + + The settings. + + + + Specify the web service url for loading data + + The web service url + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => dataBinding + .WebService().Select("~/Models/ProductDDI.asmx/GetProducts") + ) + %> + + + + + + Enables / disables web service functionality. + + Whether to enable or to disable the web service. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => dataBinding + .Ajax().Enabled(true).Select("_AjaxLoading", "DropDownList") + ) + %> + + + + The Enabled method is useful when you need to enable ajax based on certain conditions. + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables cache of items. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .DataBinding(dataBinding => + { + dataBinding.WebService().Select("~/Models/Product.asmx/GetProducts").Cache((bool)ViewData["cache"]); + }) + %> + + + + The Cache method is useful when you need to enable/disable caching based on certain conditions. + Default value is true. + + + + + Specifies delay of the Ajax/WebServer request. + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .DataBinding(dataBinding => + { + dataBinding.WebService().Select("~/Models/Product.asmx/GetProducts").Delay(400); + }) + %> + + + + The Delay method is useful when you need to postpone request to the server for some time. + + + + + Represents a client-side event of a view component + + + + + An action that renders the code of the client-side handler upon execution. + + + + + An action that renders the code of the client-side handler upon execution. + + + + + A function that returns the code of the client-side handler. + + + + + The name of the client-side handler function. + + + + + Gets the id. + + The id. + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Configures the effects of the datepicker. + + The action which configures the effects. + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + .Effects(fx => + { + fx.Height() + .Opacity() + .OpenDuration(AnimationDuration.Normal) + .CloseDuration(AnimationDuration.Normal); + }) + + + + + + Sets whether calendar should open on focus. + + + + + Sets the date format, which will be used to parse and format the machine date. + + + + + Sets the minimal date, which can be selected in DatePicker. + + + + + Sets the maximal date, which can be selected in DatePicker. + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => + events.OnLoad("onLoad").OnSelect("onSelect") + ) + %> + + + + + + Sets the Input HTML attributes. + + The HTML attributes. + + + + Sets the Input HTML attributes. + + The HTML attributes. + + + + Enables or disables the datepicker. + + + + + Defines the fluent interface for configuring datepicker client events. + + + + + Initializes a new instance of the class. + + Datepicker client-side events. + The context of the View. + + + + Defines the inline handler of the OnChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnChange client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnChange( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnOpen(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnOpen( + @<text> + %> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the OnOpen client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnOpen("onOpen")) + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnClose(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnClose( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the OnClose client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnClose("onClose")) + %> + + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Sets the value of the dateTimePicker input + + + + + Sets the value of the dateTimePicker input + + + + + Sets the minimal date, which can be selected in DateTimePicker. + + + + + Sets the maximal date, which can be selected in DateTimePicker. + + + + + Sets the minimal time, which can be selected in DateTimePicker. + + + + + Sets the minimal time, which can be selected in DateTimePicker. + + + + + Sets the maximal time, which can be selected in DateTimePicker. + + + + + Sets the maximal time, which can be selected in DateTimePicker. + + + + + Sets the interval between hours. + + + + + Sets the title of the DateTimePicker button. + + + + + Sets the title of the DateTimePicker button. + + + + + Defines the fluent interface for configuring timepicker client events. + + + + + Initializes a new instance of the class. + + Timepicker client-side events. + The context of the View. + + + + Defines the inline handler of the OnChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnChange client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnChange( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnOpen(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnOpen( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnOpen client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnOpen("onOpen")) + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnClose(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnClose( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnClose client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + .ClientEvents(events => events.OnClose("onClose")) + %> + + + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Defines the fluent interface for configuring the treeview webservice. + + + + + Initializes a new instance of the class. + + The settings. + + + + Represent item in the DropDownList/ComboBox items. + + + + + Gets the items of the treeview. + + + + + Use it to set selected item index + + Item index. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .SelectedIndex(0); + %> + + + + + + Use it to configure Data binding. + + Action that configures the data binding options. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => dataBinding + .Ajax().Select("_AjaxLoading", "DropDownList") + ); + %> + + + + + + Enables or disables the dropdownlist. + + + + + + + Initializes a new instance of the class. + + The client events. + The view context. + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnChange client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnChange( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnOpen(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnOpen client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnOpen("onOpen")) + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnClose(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnClose( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnClose client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnClose("onClose")) + %> + + + + + + Defines the inline handler of the OnDataBinding client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnDataBinding(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnDataBinding client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnDataBinding( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDataBinding client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnDataBinding("OnDataBinding")) + %> + + + + + + Defines the inline handler of the OnDataBound client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnDataBound(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnDataBound client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnDataBound( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDataBound client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnDataBound("onDataBound")) + %> + + + + + + Defines the inline handler of the OnError client-side event + + The action defining the inline handler. + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Defines the fluent interface for configuring the data binding. + + + + + Initializes a new instance of the class. + + The configuration. + + + + Use it to configure Ajax binding. + + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => dataBinding + .Ajax().Select("_AjaxLoading", "TreeView") + ) + %> + + + + + + Use it to configure web service binding. + + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .DataBinding(dataBinding => dataBinding + .WebService().Select("~/Models/ProductDDI.asmx/GetProducts") + ) + %> + + + + + + Defines the fluent interface for configuring child DropDonwList items. + + + + + Initializes a new instance of the class. + + The item. + + + + Sets the value for the item. + + The value. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .Items(items => items.Add().Text("First item.")) + %> + + + + + + Sets the value for the item. + + The value. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .Items(items => items.Add().Value("1")) + %> + + + + + + Define when the item will be expanded on intial render. + + If true the item will be selected. + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .Items(items => + { + items.Add().Text("First Item").Selected(true); + }) + %> + + + + + + Creates items for the . + + + + + Initializes a new instance of the class. + + The settings. + + + + Defines a item. + + + + + + Determines if content of a given path can be browsed. + + The path which will be browsed. + true if browsing is allowed, otherwise false. + + + + Retrieves the content of a given folder. + + The folder's path, which content will be served. + A containing folder's files and child folders. + Throws 403 Forbidden if the supplied is outside of the valid paths. + Throws 404 File Not Found if refered folder does not exist. + + + + Determines if a file can be uploaded to a given path. + + The path to which the file should be uploaded. + The file which should be uploaded. + true if the upload is allowed, otherwise false. + + + + Uploads a file to a given path. + + The path to which the file should be uploaded. + The file which should be uploaded. + A containing the uploaded file's size and name. + Forbidden + + + + Determines if an image's thumbnail should be served. + + The path to image's thumbnail. + true if image's thumbnail should be served, otherwise false. + + + + Serves an image's thumbnail by given path. + + The path to the image. + Thumbnail of an image. + Throws 403 Forbidden if the is outside of the valid paths. + Throws 404 File Not Found if the refers to a non existant image. + + + + Determines if a file can be deleted. + + The path to the file. + true if file can be deleted, otherwise false. + + + + Deletes a file. + + The path to the file. + An empty . + Forbidden + + + + Determines if a folder can be deleted. + + The path to the folder. + true if folder can be deleted, otherwise false. + + + + Deletes a folder. + + The path to the folder. + An empty . + Forbidden + + + + Determines if a folder can be created. + + The path to the parent folder in which the folder should be created. + Name of the folder. + true if folder can be created, otherwise false. + + + + Creates a folder with a given name. + + The path to the parent folder in which the folder should be created. + Name of the folder. + An empty . + Forbidden + + + + Gets the base paths from which content will be served. + + + + + Gets the valid file extensions by which served files will be filtered. + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The client events. + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnExecute client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnExecute(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnExecute client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnExecute( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnExecute client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnExecute("onExecute")) + %> + + + + + + Defines the inline handler of the OnSelectionChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnSelectionChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSelectionChange client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnSelectionChange( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSelectionChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnSelectionChange("onSelectionChange")) + %> + + + + + + Defines the inline handler of the OnChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnChange client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnChange( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnError client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Editor() + .Name("Editor") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Sets the HTML content that will show initially in the editor. + + The action which renders the HTML content. + + <% Html.Telerik().Editor() + .Name("Editor") + .Value(() => { %> + <blockquote> + According to Deep Thought, the answer to the ultimate question of + life, the universe and everything is <strong>42</strong>. + </blockquote> + <% }) + .Render(); + %> + + + + + Sets the HTML content which the item should display as a string. + + An HTML string. + + <%= Html.Telerik().Editor() + .Name("Editor") + .Value("<blockquote>A towel has <strong>immense</strong> psychological value</blockquote>") + %> + + + + + Encode HTML content. + + + <%= Html.Telerik().Editor() + .Name("Editor") + .Value("<blockquote>A towel has <strong>immense</strong> psychological value</blockquote>") + .Encode(true) + %> + + + + + Sets the localization culture of the editor. + + The culture. + + + <%= Html.Telerik().Editor() + .Name("Editor") + .Value("<blockquote>A towel has <strong>immense</strong> psychological value</blockquote>") + .Localizable("de-DE") + %> + + + + + + Enables toggle animation. + + + + + Enables opacity animation. + + + + + Enables opacity animation. + + Builder, which sets different opacity properties. + + + + Enables expand animation. + + + + + Enables expand animation. + + Builder, which sets different expand properties. + + + + Enables slide animation. + + + + + Enables slide animation. + + Builder, which sets different slide properties. + + + + Sets the button type. + + The button type. + + + + + Sets the HTML attributes. + + The HTML attributes. + + + + + Sets the HTML attributes. + + The HTML attributes. + + + + + Sets the image HTML attributes. + + The Image HTML attributes. + + + + + Sets the image HTML attributes. + + The Image HTML attributes. + + + + + + + + + + + + + + + + Simple wrapper used to trick the Grid's generic DataSource when custom binding is used + + + + + + Defines the fluent interface for configuring grid editing. + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables grid editing. + + + + <%= Html.Telerik().Grid<Order>() + .Name("Orders") + .Editable(settings => settings.Enabled(true)) + %> + + + + The Enabled method is useful when you need to enable grid editing on certain conditions. + + + + + Specify an editor template which to be used for InForm or PopUp modes + + name of the editor template + This settings is applicable only when Mode is + or + + + + Enables or disables delete confirmation. + + + + <%= Html.Telerik().Grid<Order>() + .Name("Orders") + .Editable(settings => settings.DisplayDeleteConfirmation(true)) + %> + + + + + + Gets the HTML attributes of the form rendered during editing + + The attributes. + + + + Gets the HTML attributes of the form rendered during editing + + The attributes. + + + + Defines the fluent interface for configuring template columns + + + + + Defines the fluent interface for configuring columns. + + + The type of the column builder. + + + + Initializes a new instance of the class. + + The column. + + + + Sets the title displayed in the header of the column. + + The text. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).Title("ID")) + %> + + + + + + Sets the HTML attributes applied to the header cell of the column. + + The attributes. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).HeaderHtmlAttributes(new {@class="order-header"})) + %> + + + + + + Sets the HTML attributes applied to the header cell of the column. + + The attributes. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).HeaderHtmlAttributes(new {@class="order-header"})) + %> + + + + + + Sets the HTML attributes applied to the footer cell of the column. + + The attributes. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).FooterHtmlAttributes(new {@class="order-footer"})) + %> + + + + + + Sets the HTML attributes applied to the footer cell of the column. + + The attributes. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).FooterHtmlAttributes(new {@class="order-footer"})) + %> + + + + + + Sets the HTML attributes applied to the content cell of the column. + + The attributes. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).HtmlAttributes(new {@class="order-cell"})) + %> + + + + + + Sets the HTML attributes applied to the content cell of the column. + + The attributes. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).HtmlAttributes(new {@class="order-cell"})) + %> + + + + + + Sets the width of the column in pixels. + + The width in pixels. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).Width(100)) + %> + + + + + + Sets the width of the column. + + The width to set. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => + { + %> + <%= Html.ActionLink("Edit", "Home", new { id = o.OrderID}) %> + <% + }) + .Render(); + %> + + + + + + Makes the column visible or not. By default all columns are visible. Invisible columns are not rendered in the output HTML. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).Visible((bool)ViewData["visible"])) + %> + + + + + + Makes the column hidden or not. By default all columns are not hidden. Hidden columns are rendered in the output HTML but are hidden. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).Hidden((bool)ViewData["hidden"])) + %> + + + + + + Hides a column. By default all columns are not hidden. Hidden columns are rendered in the output HTML but are hidden. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderID).Hidden()) + %> + + + + + + Sets the header template for the column. + + The action defining the template. + + + + Sets the header template for the column. + + The string defining the template. + + + + Sets the header template for the column. + + The action defining the template. + + + + Sets the footer template for the column. + + The action defining the template. + + + + Sets the footer template for the column. + + The string defining the template. + + + + Sets the footer template for the column. + + The action defining the template. + + + + Gets or sets the column. + + The column. + + + + Defines an interface that supports navigation. + + + + + Gets or sets the name of the route. + + The name of the route. + + + + Gets or sets the name of the controller. + + The name of the controller. + + + + Gets or sets the name of the action. + + The name of the action. + + + + Gets the route values. + + The route values. + + + + Gets or sets the URL. + + The URL. + + + + Determines if group header should be shown. + + true if visible, otherwise false. + + + + Gets or sets a value indicating whether member access expression used + by this builder should be lifted to null. The default value is true; + + + true if member access should be lifted to null; otherwise, false. + + + + Provided expression should have string type + + + ArgumentException. + + + ArgumentException. + + + + Provided 's is not + + + + Provided type is not + + + + Provided 's is not + + + + + Provided 's is not + + + + + + + + ArgumentException. + + + did not implement . + + + + Invalid name for property or field; or indexer with the specified arguments. + + + + InvalidOperationException. + + + InvalidCastException. + + + + Holds extension methods for . + + + + + Child element with name specified by does not exists. + + + + + Represents a filtering descriptor which serves as a container for one or more child filtering descriptors. + + + + + Base class for all used for + handling the logic for property changed notifications. + + + + + Represents a filtering abstraction that knows how to create predicate filtering expression. + + + + + Creates a predicate filter expression used for collection filtering. + + The instance expression, which will be used for filtering. + A predicate filter expression. + + + + Creates a filter expression by delegating its creation to + , if + is , otherwise throws + + The instance expression, which will be used for filtering. + A predicate filter expression. + Parameter should be of type + + + + Creates a predicate filter expression used for collection filtering. + + The parameter expression, which will be used for filtering. + A predicate filter expression. + + + + Creates a predicate filter expression combining + expressions with . + + The parameter expression, which will be used for filtering. + A predicate filter expression. + + + + Gets or sets the logical operator used for composing of . + + The logical operator used for composition. + + + + Gets or sets the filter descriptors that will be used for composition. + + The filter descriptors used for composition. + + + + Logical operator used for filter descriptor composition. + + + + + Combines filters with logical AND. + + + + + Combines filters with logical OR. + + + + + The class enables implementation of custom filtering logic. + + + + + The method checks whether the passed parameter satisfies filter criteria. + + + + + Creates a predicate filter expression that calls . + + The parameter expression, which parameter + will be passed to method. + + + + If false will not execute. + + + + + Represents declarative filtering. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The member. + The filter operator. + The filter value. + + + + Creates a predicate filter expression. + + The parameter expression, which will be used for filtering. + A predicate filter expression. + + + + Determines whether the specified descriptor + is equal to the current one. + + The other filter descriptor. + + True if all members of the current descriptor are + equal to the ones of , otherwise false. + + + + + Determines whether the specified + is equal to the current descriptor. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current filter descriptor. + + + + + Gets or sets the member name which will be used for filtering. + + The member that will be used for filtering. + + + + Gets or sets the type of the member that is used for filtering. + Set this property if the member type cannot be resolved automatically. + Such cases are: items with ICustomTypeDescriptor, XmlNode or DataRow. + Changing this property did not raise + event. + + The type of the member used for filtering. + + + + Gets or sets the filter operator. + + The filter operator. + + + + Gets or sets the target filter value. + + The filter value. + + + + Represents collection of . + + + + + Operator used in + + + + + Left operand must be smaller than the right one. + + + + + Left operand must be smaller than or equal to the right one. + + + + + Left operand must be equal to the right one. + + + + + Left operand must be different from the right one. + + + + + Left operand must be larger than the right one. + + + + + Left operand must be larger than or equal to the right one. + + + + + Left operand must start with the right one. + + + + + Left operand must end with the right one. + + + + + Left operand must contain the right one. + + + + + Left operand must be contained in the right one. + + + + InvalidOperationException. + + + + Gets the key for this group. + + The key for this group. + + + + Gets the items in this groups. + + The items in this group. + + + + Gets a value indicating whether this instance has sub groups. + + + true if this instance has sub groups; otherwise, false. + + + + + Gets the count. + + The count. + + + + Gets the subgroups, if is true, otherwise empty collection. + + The subgroups. + + + + Gets a value indicating whether this instance has any sub groups. + + + true if this instance has sub groups; otherwise, false. + + + + + Gets the number of items in this group. + + The items count. + + + + Gets the subgroups, if is true, otherwise empty collection. + + The subgroups. + + + + Gets the items in this groups. + + The items in this group. + + + + Gets the key for this group. + + The key for this group. + + + + Gets the aggregate results generated for the given aggregate functions. + + The aggregate results for the provided aggregate functions. + functions is null. + + + + Gets or sets the aggregate functions projection for this group. + This projection is used to generate aggregate functions results for this group. + + The aggregate functions projection. + + + + Creates the aggregate expression that is used for constructing expression + tree that will calculate the aggregate result. + + The grouping expression. + + + + + + Generates default name for this function using this type's name. + + + Function name generated with the following pattern: + {.}_{} + + + + + Gets or sets the informative message to display as an illustration of the aggregate function. + + The caption to display as an illustration of the aggregate function. + + + + Gets or sets the name of the field, of the item from the set of items, which value is used as the argument of the aggregate function. + + The name of the field to get the argument value from. + + + + Gets or sets the name of the aggregate function, which appears as a property of the group record on which records the function works. + + The name of the function as visible from the group record. + + + + Gets or sets a string that is used to format the result value. + + The format string. + + + + Represents a collection of items. + + + + + Gets the with the specified function name. + + + First with the specified function name + if any, otherwise null. + + + + + Initializes a new instance of the class. + + The value of the result. + The number of arguments used for the calculation of the result. + Function that generated the result. + function is null. + + + + Initializes a new instance of the class. + + that generated the result. + function is null. + + + + Initializes a new instance of the class. + + The value of the result. + that generated the result. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the value of the result. + + The value of the result. + + + + Gets the formatted value of the result. + + The formatted value of the result. + + + + Gets or sets the number of arguments used for the calulation of the result. + + The number of arguments used for the calulation of the result. + + + + Gets or sets the text which serves as a caption for the result in a user interface.. + + The text which serves as a caption for the result in a user interface. + + + + Gets the name of the function. + + The name of the function. + + + + Gets the first which + is equal to . + + + The for the specified function if any, otherwise null. + + + + + Represents a function that returns the arithmetic mean of a set of arguments. + + + + + Represents an that uses aggregate extension + methods provided in using + as a member selector. + + + + + Base class for all aggregate functions that will use extension + methods in for aggregation. + + + + + Gets the type of the extension methods that holds the extension methods for + aggregation. For example or . + + + The type of that holds the extension methods. The default value is . + + + + + Creates the aggregate expression using . + + The grouping expression. + + + + + + Initializes a new instance of the class. + + + + + Gets the the Average method name. + + Average. + + + + Represents a function that returns the number of items in a set of items, including nested sets. + + + + + Represents an that uses aggregate extension + methods provided in . + + + + + Creates the aggregate expression using . + + The grouping expression. + + + + + + Initializes a new instance of the class. + + + + + Gets the the Count method name. + + Count. + + + + Gets the the First method name. + + First. + + + + Represents a function that returns the last item from a set of items. + + + + + Initializes a new instance of the class. + + + + + Gets the the Last method name. + + Last. + + + + Represents a function that returns the greatest item from a set of items. + + + + + Initializes a new instance of the class. + + + + + Gets the the Max method name. + + Max. + + + + Represents a function that returns the least item from a set of items. + + + + + Initializes a new instance of the class. + + + + + Gets the the Min method name. + + Min. + + + + Represents a function that returns the sum of all items from a set of items. + + + + + Initializes a new instance of the class. + + + + + Gets the the Min method name. + + Min. + + + + Represents grouping criteria. + + + + + Represents declarative sorting. + + + + + Gets or sets the member name which will be used for sorting. + + The member that will be used for sorting. + + + + Gets or sets the sort direction for this sort descriptor. If the value is null + no sorting will be applied. + + The sort direction. The default value is null. + + + + Changes the to the next logical value. + + + + + Gets or sets the type of the member that is used for grouping. + Set this property if the member type cannot be resolved automatically. + Such cases are: items with ICustomTypeDescriptor, XmlNode or DataRow. + Changing this property did not raise + event. + + The type of the member used for grouping. + + + + Gets or sets the content which will be used from UI. + + The content that will be used from UI. + + + + Gets or sets the aggregate functions used when grouping is executed. + + The aggregate functions that will be used in grouping. + + + + Calculates unique int for given group in a group sequence, + taking into account groups order, each group key and groups' count. + + + + Gets or sets the format for displaying the value in the tooltip. + The value. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .Tooltip(tooltip => tooltip.Format("{0:P")) + %> + + + + + Display tooltip while drag. + The value. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .Tooltip(tooltip => tooltip.Enable(false)) + %> + + + + + Defines the fluent interface for configuring the . + + + + Defines the inline handler of the OnChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().RangeSlider() + .Name("RangeSlider") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().RangeSlider() + .Name("RangeSlider") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().RangeSlider() + .Name("RangeSlider") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().RangeSlider() + .Name("RangeSlider") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnSlide client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().RangeSlider() + .Name("RangeSlider") + .ClientEvents(events => events.OnSlide(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSlide client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().RangeSlider() + .Name("RangeSlider") + .ClientEvents(events => events.OnSlide("OnSlide")) + %> + + + + + Defines the fluent interface for configuring the . + + + + Defines the inline handler of the OnChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Slider() + .Name("Slider") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Slider() + .Name("Slider") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnSlide client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Slider() + .Name("Slider") + .ClientEvents(events => events.OnSlide(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSlide client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .ClientEvents(events => events.OnSlide("OnSlide")) + %> + + + + + Defines the fluent interface for configuring the component. + + + Initializes a new instance of the class. + The component. + + + Sets the value of the range slider. + + + Sets the value of the range slider. + + + Sets orientation of the range slider. + + + Sets a value indicating how to display the tick marks on the range slider. + + + Sets the minimum value of the range slider. + + + Sets the maximum value of the range slider. + + + Sets the step with which the range slider value will change. + + + Sets the delta with which the value will change when user click on the track. + + + Display tooltip while drag. + + + + Use it to configure tooltip while drag. + + Use builder to set different tooltip options. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .Tooltip(tooltip => tooltip + .Enable(true) + .Format("{0:P}") + ); + %> + + + + + Configures the client-side events. + The client events action. + + + <%= Html.Telerik().RangeSlider() + .Name("RangeSlider") + .ClientEvents(events => + events.OnLoad("onLoad").OnChange("onChange")) + %> + + + + + Sets a value indicating whether the range slider can respond to user interaction. + + + Defines the fluent interface for configuring the component. + + + Initializes a new instance of the class. + The component. + + + Sets the value of the slider. + + + Sets the title of the slider increase button. + + + Sets whether slider to be rendered with increase/decrease button. + + + Sets the title of the slider decrease button. + + + Sets orientation of the slider. + + + Sets a value indicating how to display the tick marks on the slider. + + + Sets the minimum value of the slider. + + + Sets the maximum value of the slider. + + + Sets the step with which the slider value will change. + + + Sets the delta with which the value will change when user click on the slider. + + + Display tooltip while drag. + + + + Use it to configure tooltip. + + Use builder to set different tooltip options. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .Tooltip(tooltip => tooltip + .Enable(true) + .Format("{0:P}") + ); + %> + + + + + Configures the client-side events. + The client events action. + + + <%= Html.Telerik().Slider() + .Name("Slider") + .ClientEvents(events => + events.OnLoad("onLoad").OnChange("onChange")) + %> + + + + + Sets a value indicating whether the slider can respond to user interaction. + + + Specifies the general layout of the slider. + + + The slider is oriented horizontally. + + + The slider is oriented vertically. + + + Specifies the location of tick marks in a component. + + + No tick marks appear in the component. + + + + Tick marks are located on the top of a horizontal component or on the + left of a vertical component. + + + + + Tick marks are located on the bottom of a horizontal component or on the + right side of a vertical component. + + + + Tick marks are located on both sides of the component. + + + + Sets the pane size. + + The desired size. Only sizes in pixels and percentages are allowed. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().Size("220px"); + }) + %> + + + + + + Sets the minimum pane size. + + The desired minimum size. Only sizes in pixels and percentages are allowed. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().MinSize("220px"); + }) + %> + + + + + + Sets the maximum pane size. + + The desired maximum size. Only sizes in pixels and percentages are allowed. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().MaxSize("220px"); + }) + %> + + + + + + Sets whether the pane shows a scrollbar when its content overflows. + + Whether the pane will be scrollable. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().Scrollable(false); + }) + %> + + + + + + Sets whether the pane can be resized by the user. + + Whether the pane will be resizable. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().Resizable(true); + }) + %> + + + + + + Sets whether the pane is initially collapsed. + + Whether the pane will be initially collapsed. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().Collapsed(true); + }) + %> + + + + + + Sets whether the pane can be collapsed by the user. + + Whether the pane can be collapsed by the user. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().Collapsible(true); + }) + %> + + + + + + Sets the HTML attributes applied to the outer HTML element rendered for the item + + The attributes. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add().HtmlAttributes(new { style = "background: red" }); + }) + %> + + + + + + Sets the HTML attributes applied to the outer HTML element rendered for the item + + The attributes. + + + + Sets the HTML content of the pane. + + The action which renders the HTML content. + + <% Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add() + .Content(() => { >% + <p>Content</p> + %<}); + }) + .Render(); + %> + + + + + Sets the HTML content of the pane. + + The Razor template for the HTML content. + + @(Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add() + .Content(@<p>Content</p>); + }) + .Render();) + + + + + Sets the HTML content of the pane. + + The HTML content. + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => + { + panes.Add() + .Content("<p>Content</p>"); + }) + %> + + + + + Sets the Url which will be requested to return the pane content. + + The route values of the Action method. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => { + panes.Add() + .LoadContentFrom(MVC.Home.Index().GetRouteValueDictionary()); + }) + %> + + + + + + Sets the Url, which will be requested to return the pane content. + + The action name. + The controller name. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => { + panes.Add() + .LoadContentFrom("AjaxView_OpenSource", "Splitter"); + }) + %> + + + + + + Sets the Url, which will be requested to return the content. + + The action name. + The controller name. + Route values. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => { + panes.Add() + .LoadContentFrom("AjaxView_OpenSource", "Splitter", new { id = 10 }); + }) + %> + + + + + + Sets the Url, which will be requested to return the pane content. + + The url. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => { + panes.Add() + .LoadContentFrom(Url.Action("AjaxView_OpenSource", "Splitter")); + }) + %> + + + + + + Defines the fluent interface for configuring the . + + + + + The fluent interface that configures the . + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnResize client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnResize(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnResize client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnResize( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnResize client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnResize("onResize")) + %> + + + + + + Defines the inline handler of the OnExpand client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnExpand(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnExpand client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnExpand( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnExpand client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnExpand("onExpand")) + %> + + + + + + Defines the inline handler of the OnCollapse client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnCollapse(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnCollapse client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnCollapse( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnCollapse client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnCollapse("onCollapse")) + %> + + + + + + Defines the inline handler of the OnContentLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnContentLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnContentLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnContentLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnContentLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events.OnContentLoad("onContentLoad")) + %> + + + + + + Specifies the orientation in which the splitter panes will be ordered + + + + + Panes are oredered horizontally + + + + + Panes are oredered vertically + + + + + Sets the splitter orientation. + + The desired orientation. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Orientation(SplitterOrientation.Vertical) + %> + + + + + + Defines the panes in the splitter. + + The action that configures the panes. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .Panes(panes => { + panes.Add().LoadContentFrom("Navigation", "Shared"); + panes.Add().LoadContentFrom("Index", "Home"); + }) + %> + + + + + + Configures the client events for the splitter. + + The action that configures the client events. + + + <%= Html.Telerik().Splitter() + .Name("Splitter") + .ClientEvents(events => events + .OnLoad("onLoad") + ) + %> + + + + + + Defines properties for a content pane. + + + + + Defines whether one navigation item can have content loaded asynchroniously. + + + + + Url, which will be used as a destination for the Ajax request. + + + + + Specifies the size of the pane + + + + + Specifies the minimum size of the pane + + + + + Specifies the maximum size of the pane + + + + + Specifies whether the pane is initially collapsed + + + + + Specifies whether the pane can be collapsed by the user + + + + + Specifies whether the pane can be resized by the user + + + + + Specifies whether the pane shows a scrollbar when its content overflows + + + + + Specifies URL from which to load the pane content + + + + + Specifies HTML attributes for the pane + + + + + Specifies the pane contents + + + + + Gets the id. + + The id. + + + + Defines the fluent interface for configuring the component. + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Sets the initial value of the textbox. + + + + + Sets the step, used ti increment/decrement the value of the textbox. + + + + + Sets the minimal possible value allowed to the user. + + + + + Sets the maximal possible value allowed to the user. + + + + + Sets the group size of the number. + + + + + Sets the group separator of the number. + + + + + Sets the index of the negative pattern. + + + + + Sets the text which will be displayed if the textbox is empty. + + + + + Enables or disables the spin buttons. + + + + + + + Define the tooltip text of the up button. + + + + + Define the tooltip text of the down button. + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().NumericTextBox() + .Name("NumericTextBox") + .ClientEvents(events => + events.OnLoad("onLoad").OnChange("onChange") + ) + %> + + + + + + Sets the Input HTML attributes. + + The HTML attributes. + + + + Sets the Input HTML attributes. + + The HTML attributes. + + + + Enables or disables the textbox. + + + + + + + + Defines the fluent interface for configuring the component. + + + + + + Defines the number of the decimal digits. + + + + + Sets the decimal separator. + + + + + Sets the index of the positive pattern. + + + + + Sets the percent symbol. + + + + + Defines the fluent interface for configuring the component. + + + + + + Defines the number of the decimal digits. + + + + + Sets the decimal separator. + + + + + Sets the index of the positive pattern. + + + + + Sets the currency symbol. + + + + source is null. + + + ReSharper disable UnusedParameter.Local + + + + Executes the provided delegate for each item. + + + The instance. + The action to be applied. + + + index is out of range. + + + first is null. + second is null. + resultSelector is null. + + + + Initializes a new instance of the class. + + The source. + + + + Sorts the elements of a sequence using the specified sort descriptors. + + A sequence of values to sort. + The sort descriptors used for sorting. + + An whose elements are sorted according to a . + + + + + Pages through the elements of a sequence until the specified + using . + + A sequence of values to page. + Index of the page. + Size of the page. + + An whose elements are at the specified . + + + + + Projects each element of a sequence into a new form. + + + An whose elements are the result of invoking a + projection selector on each element of . + + A sequence of values to project. + A projection function to apply to each element. + + + + Groups the elements of a sequence according to a specified key selector function. + + An whose elements to group. + A function to extract the key for each element. + + An with items, + whose elements contains a sequence of objects and a key. + + + + + Sorts the elements of a sequence in ascending order according to a key. + + + An whose elements are sorted according to a key. + + + A sequence of values to order. + + + A function to extract a key from an element. + + + + + Sorts the elements of a sequence in descending order according to a key. + + + An whose elements are sorted in descending order according to a key. + + + A sequence of values to order. + + + A function to extract a key from an element. + + + + + Calls + or depending on the . + + The source. + The key selector. + The sort direction. + + An whose elements are sorted according to a key. + + + + + Groups the elements of a sequence according to a specified . + + An whose elements to group. + The group descriptors used for grouping. + + An with items, + whose elements contains a sequence of objects and a key. + + + + + Calculates the results of given aggregates functions on a sequence of elements. + + An whose elements will + be used for aggregate calculation. + The aggregate functions. + Collection of s calculated for each function. + + + + Filters a sequence of values based on a predicate. + + + An that contains elements from the input sequence + that satisfy the condition specified by . + + An to filter. + A function to test each element for a condition. + + + + Filters a sequence of values based on a collection of . + + The source. + The filter descriptors. + + An that contains elements from the input sequence + that satisfy the conditions specified by each filter descriptor in . + + + + + Returns a specified number of contiguous elements from the start of a sequence. + + + An that contains the specified number + of elements from the start of . + + The sequence to return elements from. + The number of elements to return. + is null. + + + + Bypasses a specified number of elements in a sequence + and then returns the remaining elements. + + + An that contains elements that occur + after the specified index in the input sequence. + + + An to return elements from. + + + The number of elements to skip before returning the remaining elements. + + is null. + + + Returns the number of elements in a sequence. + The number of elements in the input sequence. + + The that contains the elements to be counted. + + is null. + + + Returns the element at a specified index in a sequence. + The element at the specified position in . + An to return an element from. + The zero-based index of the element to retrieve. + is null. + is less than zero. + + + + Creates a from an where T is . + + + A that contains elements from the input sequence. + + + The to create a from. + + + is null. + + + + + Represents an attribute that is used to populate in view data. + + + + + Initializes a new instance of the class. + + The site maps. + + + + Initializes a new instance of the class. + + + + + Called before an action result executes. + + The filter context. + + + + Called after an action result executes. + + The filter context. + + + + Gets or sets the default view data key. + + The default view data key. + + + + Gets or sets the name of the site map. + + The name of the site map. + + + + Gets or sets the view data key. + + The view data key. + + + + Gets or sets the site maps. + + The site maps. + + + + Defines a base class that represents site map. + + + + + Initializes a new instance of the class. + + + + + Performs an implicit conversion from to . + + The site map. + The result of the conversion. + + + + Returns a new builder. + + + + + + Resets this instance. + + + + + Gets or sets the default cache duration in minutes. + + The default cache duration in minutes. + + + + Gets or sets a value indicating whether [default compress]. + + true if [default compress]; otherwise, false. + + + + Gets or sets a value indicating whether [default generate search engine map]. + + + true if [default generate search engine map]; otherwise, false. + + + + + Gets or sets the root node. + + The root node. + + + + Gets or sets the cache duration in minutes. + + The cache duration in minutes. + + + + Gets or sets a value indicating whether this is compress. + + true if compress; otherwise, false. + + + + Gets or sets a value indicating whether [generate search engine map]. + + + true if [generate search engine map]; otherwise, false. + + + + + The builder to fluently configuring . + + + + + Initializes a new instance of the class. + + The site map. + + + + Performs an implicit conversion from to . + + The builder. + The result of the conversion. + + + + Returns the internal sitemap. + + + + + + Caches the duration in minutes. + + The value. + + + + + Compresses the specified value. + + if set to true [value]. + + + + + Generates the search engine map. + + if set to true [value]. + + + + + Gets the root node. + + The root node. + + + + Sitemap change frequency + + + + + Automatic + + + + + Daily + + + + + Always + + + + + Hourly + + + + + Weekly + + + + + Monthly + + + + + Yearly + + + + + Never + + + + + Defines a class that is used to store against a key. + + + + + Registers the specified name. + + The type of the site map. + The name. + The configure. + + + + + Adds an item to the . + + The object to add to the . + + The is read-only. + + + + + Adds an element with the provided key and value to the . + + The object to use as the key of the element to add. + The object to use as the value of the element to add. + + is null. + + + An element with the same key already exists in the . + + + The is read-only. + + + + + Removes all items from the . + + + The is read-only. + + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Determines whether the contains an element with the specified key. + + The key to locate in the . + + true if the contains an element with the key; otherwise, false. + + + is null. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + + is less than 0. + + + is multidimensional. + -or- + is equal to or greater than the length of . + -or- + The number of elements in the source is greater than the available space from to the end of the destination . + -or- + Type cannot be cast automatically to the type of the destination + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + + The is read-only. + + + + + Removes the element with the specified key from the . + + The key of the element to remove. + + true if the element is successfully removed; otherwise, false. This method also returns false if was not found in the original . + + + is null. + + + The is read-only. + + + + + Gets the value associated with the specified key. + + The key whose value to get. + When this method returns, the value associated with the specified key, if the key is found; otherwise, the default value for the type of the parameter. This parameter is passed uninitialized. + + true if the object that implements contains an element with the specified key; otherwise, false. + + + is null. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Gets or sets the default site map factory. + + The default site map factory. + + + + Gets or sets the default site map. + + The default site map. + + + + Gets the number of elements contained in the . + + + + The number of elements contained in the . + + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + + Gets an containing the keys of the . + + + + An containing the keys of the object that implements . + + + + + Gets an containing the values in the . + + + + An containing the values in the object that implements . + + + + + Gets or sets the with the specified key. + + + + + + Defines a class that is used to generate searach engine sitemap xml. + + + + + Provides a common base set of functionality for IHttpHandler implementations. + + + + + Enables processing of HTTP Web requests by a custom HttpHandler that implements the interface. + + An object that provides references to the intrinsic server objects (for example, Request, Response, Session, and Server) used to service HTTP requests. + + + + Processes the request. + + The context. + + + + Gets a value indicating whether another request can use the instance. + + + true if the instance is reusable; otherwise, false. + + + + Initializes a new instance of the class. + + The site maps. + The HTTP response compressor. + The HTTP response cacher. + The URL generator. + + + + Initializes a new instance of the class. + + + + + Processes the request. + + The context. + + + + Gets or sets the default path. + + The default path. + + + + Defines a class that is used to store global sitemaps. + + + + + Gets the site maps. + + The site maps. + + + + Defines a class that is used to store single url. + + + + + Serves as the base class for classes that provides linked object information. + + + + + Gets or sets the T object that is the parent of the current node. + + The parent. + + + + Gets the previous T object on the same level as the current one, relative to the T.ParentNode object (if one exists). + + The previous sibling. + + + + Gets the next T node on the same hierarchical level as the current one, relative to the T.ParentNode property (if one exists). + + The next sibling. + + + + Initializes a new instance of the class. + + + + + Performs an implicit conversion from to . + + The node. + The result of the conversion. + + + + Gets or sets the title. + + The title. + + + + Gets or sets a value indicating whether this is visible. + + true if visible; otherwise, false. + + + + Gets or sets the last modified at. + + The last modified at. + + + + Gets or sets the name of the route. + + The name of the route. + + + + Gets or sets the name of the controller. + + The name of the controller. + + + + Gets or sets the name of the action. + + The name of the action. + + + + Gets or sets the route values. + + The route values. + + + + Gets or sets the URL. + + The URL. + + + + Gets or sets the change frequency. + + The change frequency. + + + + Gets or sets the update priority. + + The update priority. + + + + Gets or sets a value indicating whether [include in search engine index]. + + + true if [include in search engine index]; otherwise, false. + + + + + Gets or sets the attributes. + + The attributes. + + + + Gets or sets the child nodes. + + The child nodes. + + + + Builder class for fluently configuring . + + + + + Initializes a new instance of the class. + + The site map node. + + + + Performs an implicit conversion from to . + + The builder. + The result of the conversion. + + + + Returns the internal node. + + + + + + Sets the title. + + The value. + + + + + Sets the visibility. + + if set to true [value]. + + + + + Sets the Lasts the modified date.. + + The value. + + + + + Sets the route. + + Name of the route. + The route values. + + + + + Sets the route. + + Name of the route. + The route values. + + + + + Sets the route. + + Name of the route. + + + + + Sets the action to which the date should navigate + + The route values of the Action method. + + + + Sets the action, controller and route values. + + Name of the action. + Name of the controller. + The route values. + + + + + Sets the action, controller and route values. + + Name of the action. + Name of the controller. + The route values. + + + + + Sets the action and controller. + + Name of the action. + Name of the controller. + + + + + Expression based controllerAction. + + The type of the controller. + The action. + + + + + Sets the url. + + The value. + + + + + Sets the change frequency. + + The value. + + + + + Sets the update priority. + + The value. + + + + + Marks an item that it would be included in the search engine index. + + if set to true [value]. + + + + + Sets the attributes + + The value. + + + + + Sets the attributes + + The value. + + + + + Executes the provided delegate to configure the child node. + + The add actions. + + + + + Defines a factory that is used to create . + + + + + Initializes a new instance of the class. + + The parent. + + + + Adds this instance. + + + + + + Sitemap update priority. + + + + + Automatic + + + + + Low + + + + + Normal + + + + + High + + + + + Critical + + + + + Xml file based sitemap. + + + + + Initializes a new instance of the class. + + + + + Loads from the default path. + + + + + Loads from the specified path. + + The relative virtual path. + + + + Gets or sets the default path. + + The default path. + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The component. + + + + Sets selected date. + + DateTime object represents the selected date. + + + + Sets selected date. + + Date passed as string. + + + + Sets the smallest possible date, which user can choose. + + + + + Sets the smallest possible date, which user can choose. + + + + + Sets the biggest possible date, which user can choose. + + + + + Sets the smallest possible date, which user can choose. + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().Calendar() + .Name("Calendar") + .ClientEvents(events => + events.OnLoad("onLoad") + ) + %> + + + + + + Configures the selection settings of the calendar. + + SelectAction settings, which includes Action name and IEnumerable of DateTime objects. + + + + + Defines fluent interface for configuring calendar client events. + + + + + Initializes a new instance of the class. + + Client events of the calendar. + The context of the View. + + + + Defines the inline handler of the OnSelect client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Calendar() + .Name("Calendar") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Calendar() + .Name("Calendar") + .ClientEvents(events => events.OnChange( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the OnDateSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Calendar() + .Name("Calendar") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Calendar() + .Name("Calendar") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Calendar() + .Name("Calendar") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Contains constants for CSS class names, used across all UI extensions + + + + + Next navigation link + + + + + Previous navigavtion link + + + + + Previous navigavtion link + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The selection settings. + The view context. + + + + Defines list of dates. This list determines which dates to be rendered with action link. + + List of objects + + + + Sets the action to which the date should navigate + + The route values of the Action method. + + + + Sets the action to which the date should navigate + + Name of the action. + The route values. + + + + Sets the action to which the item should navigate + + Name of the action. + Name of the controller. + The route values. + + + + Defines the fluent interface for configuring delete action command. + + + + + + Defines the fluent interface for configuring command. + + The type of the model + The type of the command. + The type of the builder. + + + + Initializes a new instance of the class. + + The column. + + + + Sets the button type. + + The button type. + + + + + Sets the HTML attributes. + + The HTML attributes. + + + + + Sets the HTML attributes. + + The HTML attributes. + + + + + Sets the image HTML attributes. + + The Image HTML attributes. + + + + + Sets the image HTML attributes. + + The Image HTML attributes. + + + + + Initializes a new instance of the class. + + The command. + + + + Represents a column in the component + + The type of the data item + + + + Gets or sets the grid. + + The grid. + + + + Gets the member of the column. + + The member. + + + + Gets the template of the column. + + + + + Gets the header template of the column. + + + + + Gets the footer template of the column. + + + + + Gets or sets the title of the column. + + The title. + + + + Gets or sets the width of the column. + + The width. + + + + Gets or sets a value indicating whether this column is hidden. + + true if hidden; otherwise, false. + + Hidden columns are output as HTML but are not visible by the end-user. + + + + + Gets the header HTML attributes. + + The header HTML attributes. + + + + Gets the footer HTML attributes. + + The footer HTML attributes. + + + + Gets or sets a value indicating whether this column is visible. + + true if visible; otherwise, false. The default value is true. + + Invisible columns are not output in the HTML. + + + + + Gets the HTML attributes of the cell rendered for the column + + The HTML attributes. + + + + Defines the fluent interface for configuring the edit action command. + + + + + + Initializes a new instance of the class. + + The command. + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables binding. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home").Enabled((bool)ViewData["ajax"]); + }) + %> + + + + The Enabled method is useful when you need to enable binding based on certain conditions. + + + + + Sets the action, controller and route values for the select operation + + The route values of the Action method. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select(MVC.Home.Index().GetRouteValueDictionary()); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home", new { id = 1 }); + }) + %> + + + + + + Sets the action and controller for the select operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home"); + }) + %> + + + + + + Sets the route and values for the select operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the route and values for the select operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default", new {id=1}); + }) + %> + + + + + + Sets the route name for the select operation + + Name of the route. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default"); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + The type of the controller. + The action. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select<HomeController>(controller => controller.Index())); + }) + %> + + + + + + Sets the action, controller and route values for the insert operation + + The route values of the Action method. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Insert(MVC.Home.Index(1).GetRouteValueDictionary()); + }) + %> + + + + + + Sets the action, controller and route values for insert operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the action, controller and route values for insert operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Insert("Index", "Home", new { id = 1 }); + }) + %> + + + + + + Sets the action and controller for the select operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Insert("Index", "Home"); + }) + %> + + + + + + Sets the route and values for insert operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the route and values for insert operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Insert("Default", new {id=1}); + }) + %> + + + + + + Sets the route name for insert operation + + Name of the route. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Insert("Default"); + }) + %> + + + + + + Sets the action, controller and route values for insert operation + + The type of the controller. + The action. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Insert<HomeController>(controller => controller.Index())); + }) + %> + + + + + + Sets the action, controller and route values for the update operation + + The route values of the Action method. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update(MVC.Home.Index(1).GetRouteValueDictionary()); + }) + %> + + + + + + Sets the action, controller and route values for update operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update(MVC.Home.Index(1).GetRouteValueDictionary()); + }) + %> + + + + + + Sets the action, controller and route values for update operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update("Index", "Home", new { id = 1 }); + }) + %> + + + + + + Sets the action and controller for the select operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update("Index", "Home"); + }) + %> + + + + + + Sets the route and values for update operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the route and values for update operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update("Default", new {id=1}); + }) + %> + + + + + + Sets the route name for update operation + + Name of the route. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update("Default"); + }) + %> + + + + + + Sets the action, controller and route values for update operation + + The type of the controller. + The action. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Update<HomeController>(controller => controller.Index())); + }) + %> + + + + + + Sets the action, controller and route values for the delete operation + + The route values of the Action method. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete(MVC.Home.Index(1).GetRouteValueDictionary()); + }) + %> + + + + + + Sets the action, controller and route values for delete operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete("Index", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the action, controller and route values for delete operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete("Index", "Home", new { id = 1 }); + }) + %> + + + + + + Sets the action and controller for the select operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete("Index", "Home"); + }) + %> + + + + + + Sets the route and values for delete operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the route and values for delete operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete("Default", new {id=1}); + }) + %> + + + + + + Sets the route name for delete operation + + Name of the route. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete("Default"); + }) + %> + + + + + + Sets the action, controller and route values for delete operation + + The type of the controller. + The action. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Delete<HomeController>(controller => controller.Index())); + }) + %> + + + + + + Defines the fluent interface for configuring the data binding. + + + + + Initializes a new instance of the class. + + The configuration. + + + + Use it to configure Server binding. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Server().Select("FirstLook", "Grid"}); + }) + .Pagealbe() + .Sortable(); + %> + + + + + + Use it to configure Ajax binding. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("_FirstLook", "Grid").Enabled((bool)ViewData["ajax"]); + }) + .Pagealbe() + .Sortable(); + %> + + + + + + Use it to configure web service binding. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.WebService().Select("~/Models/Orders.asmx/GetOrders") + }) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + %> + + + + + + Defines the fluent interface for configuring the data key. + + The type of the model + + + + Initializes a new instance of the class. + + The dataKey. + + + + Sets the RouteKey. + + The value. + + + + + Gets the HTML attributes of the form rendered during editing + + The HTML attributes. + + + + Creates data key for the . + + The type of the data item + + + + Initializes a new instance of the class. + + The grid. + + + + Defines a data key. + + + + + + + + Defines which objects can have child items. + + + + + + Child items collection. + + + + + Defines the fluent interface for configuring the component. + + + + + + Defines the number of the decimal digits. + + + + + Sets the decimal separator. + + + + + Defines the fluent interface for configuring the . + + + + + Defines the inline handler of the OnChange client-side event + + The action defining the inline handler. + + + <% Html.Telerik().IntegerTextBox() + .Name("IntegerTextBox") + .ClientEvents(events => events.OnChange(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnChange client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().IntegerTextBox() + .Name("IntegerTextBox") + .ClientEvents(events => events.OnChange( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChange client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().IntegerTextBox() + .Name("IntegerTextBox") + .ClientEvents(events => events.OnChange("onChange")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().IntegerTextBox() + .Name("IntegerTextBox") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().IntegerTextBox() + .Name("IntegerTextBox") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().IntegerTextBox() + .Name("IntegerTextBox") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Sets the value of the timepicker input + + + + + Sets the value of the timepicker input + + + + + Sets the value of the timepicker input + + + + + Sets the minimum time, which can be selected in timepicker + + + + + Sets the minimum time, which can be selected in timepicker + + + + + Sets the maximum time, which can be selected in timepicker + + + + + Sets the maximum time, which can be selected in timepicker + + + + + Sets the interval between hours. + + + + + Sets whether timepicker to be rendered with button, which shows timeview on click. + + + + + Sets the title of the timepicker button. + + + + + Defines the fluent interface for configuring TreeView drag&drop. + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables / disables drag&drop functionality. + + Whether to enable or to disable the drag&drop. + + + + Allows elements to be dropped on arbitrary HTML elements + + jQuery selector that specifies the elements that qualify as drop targets. + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables binding. + + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home").Enabled((bool)ViewData["ajax"]); + }) + %> + + + + The Enabled method is useful when you need to enable binding based on certain conditions. + + + + + Sets the action, controller and route values + + The route values of the Action method. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select(MVC.Home.Index(1).GetRouteValueDictionary()); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home", new { {"id", 1} }); + }) + %> + + + + + + Sets the action, controller and route values for the select operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Index", "Home"); + }) + %> + + + + + + Sets the route and values for the select operation + + Name of the route. + The route values. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + }) + %> + + + + + + Sets the route and values for the select operation + + Name of the route. + The route values. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default", new {id=1}); + }) + %> + + + + + + Sets the route name for the select operation + + Name of the route. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => + { + dataBinding.Ajax().Select("Default"); + }) + %> + + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Defines the items in the TreeView + + The add action. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => + .OnDataBinding("onDataBinding") + .OnItemDataBound("onItemDataBound") + ) + %> + + + + + + Binds the TreeView to a sitemap + + The view data key. + The action to configure the item. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .BindTo("examples", (item, siteMapNode) => + { + }) + %> + + + + + + Binds the TreeView to a sitemap. + + The view data key. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .BindTo("examples") + %> + + + + + + Binds the TreeView to a list of objects. The TreeView will be "flat" which means a TreeView item will be created for + every item in the data source. + + The type of the data item + The data source. + The action executed for every data bound item. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .BindTo(new []{"First", "Second"}, (item, value) + { + item.Text = value; + }) + %> + + + + + + Binds the TreeView to a list of objects. The TreeView will create a hierarchy of items using the specified mappings. + + The type of the data item + The data source. + The action which will configure the mappings + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .BindTo(Model, mapping => mapping + .For<Customer>(binding => binding + .Children(c => c.Orders) // The "child" items will be bound to the the "Orders" property + .ItemDataBound((item, c) => item.Text = c.ContactName) // Map "Customer" properties to TreeViewItem properties + ) + .For<Order<(binding => binding + .Children(o => null) // "Orders" do not have child objects so return "null" + .ItemDataBound((item, o) => item.Text = o.OrderID.ToString()) // Map "Order" properties to TreeViewItem properties + ) + ) + %> + + + + + + Use it to configure Data binding. + + Action that configures the data binding options. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => dataBinding + .Ajax().Select("_AjaxLoading", "TreeView") + ); + %> + + + + + + Callback for each item. + + Action, which will be executed for each item. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ItemAction(item => + { + item + .Text(...) + .HtmlAttributes(...); + }) + %> + + + + + + Select item depending on the current URL. + + If true the item will be highlighted. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .HighlightPath(true) + %> + + + + + + Configures the effects of the TreeView. + + The action which configures the effects. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Effects(fx => + { + fx.Slide() + .Opacity() + .OpenDuration(AnimationDuration.Normal) + .CloseDuration(AnimationDuration.Normal); + }) + + + + + + Expand all the items. + + If true all the items will be expanded. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ExpandAll(true) + %> + + + + + + ShowLines indicates if lines connecting child nodes to parent nodes are displayed. + + If true lines connecting child nodes to parent nodes are displayed. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ShowLines(true) + %> + + + + + + ShowCheckBox indicates if checkbox displayed before node. + + If true checkbox will be displayed for every node. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ShowCheckBox(true) + %> + + + + + + Enables drag & drop between treeview nodes. + + If true, drag & drop is enabled. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + .DragAndDrop(true) + %> + + + + + + Enables drag & drop between treeview nodes. + + Action that configures the drag and drop options. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + .DragAndDrop(settings => + { + + }) + %> + + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The client events. + The view context. + + + + Defines the inline handler of the OnExpand client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnExpand(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnExpand client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnExpand( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnExpand client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnExpand("onExpand")) + %> + + + + + + Defines the inline handler of the OnCollapse client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnCollapse(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnCollapse client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnCollapse( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnCollapse client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnCollapse("onCollapse")) + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnSelect(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnSelect( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnSelect("onSelect")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnError client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Defines the inline handler of the OnNodeDragStart client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragStart(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnNodeDragStart client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragStart( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnNodeDragStart client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragStart("onNodeDragStrat")) + %> + + + + + + Defines the inline handler of the OnNodeDrop client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDrop(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnNodeDrop client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDrop( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnNodeDrop client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDrop("OnNodeDrop")) + %> + + + + + + Defines the inline handler of the OnNodeDropped client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDropped(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnNodeDropped client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDropped( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnNodeDropped client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDropped("OnNodeDropped")) + %> + + + + + + Defines the inline handler of the OnNodeDragCancelled client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragCancelled(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnNodeDragCancelled client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragCancelled( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnNodeDragCancelled client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragCancelled("OnNodeDragCancelled")) + %> + + + + + + Defines the inline handler of the OnNodeDragging client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragging(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnNodeDragging client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragging( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnNodeDragging client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnNodeDragging("OnNodeDragging")) + %> + + + + + + Defines the inline handler of the OnDataBinding client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnDataBinding(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnDataBinding client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnDataBinding( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDataBinding client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnDataBinding("OnDataBinding")) + %> + + + + + + Defines the inline handler of the OnDataBound client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnDataBound(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnDataBound client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnDataBound( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDataBound client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnDataBound("OnDataBound")) + %> + + + + + + Defines the inline handler of the OnChecked client-side event. Requires ShowCheckBox to be true. + + The action defining the inline handler. + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnChecked(() => + { + %> + function(e) { + // event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnChecked client-side event. Requires ShowCheckBox to be true. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnChecked( + @<text> + function(e) { + // event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnChecked client-side event. Requires ShowCheckBox to be true. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .ClientEvents(events => events.OnChecked("onChecked")) + %> + + + + + + Defines the fluent interface for configuring the data binding. + + + + + Initializes a new instance of the class. + + The configuration. + + + + Use it to configure Ajax binding. + + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => dataBinding + .Ajax().Select("_AjaxLoading", "TreeView") + ) + %> + + + + + + Use it to configure web service binding. + + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => dataBinding + .WebService().Select("~/Models/Employees.asmx/GetEmployees") + ) + %> + + + + + + Defines the fluent interface for configuring child TreeView items. + + + + + Defines the fluent interface for configuring navigation items + + The type of the item. + The type of the builder. + + + + Initializes a new instance of the class. + + The item. + + + + Returns the inner navigation item + + + + + + Sets the HTML attributes applied to the outer HTML element rendered for the item + + The attributes. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Attributes(new {@class="first-item"})) + %> + + + + + + Sets the HTML attributes applied to the outer HTML element rendered for the item + + The attributes. + + + + Sets the text displayed by the item. + + The value. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item")) + %> + + + + + + Makes the item visible or not. Invisible items are not rendered in the output HTML. + + + Sets the text displayed by the item. + + The value. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item").Visible((bool)ViewData["visible"]) + %> + + + + + + Enables or disables the item. Disabled item cannot be clicked, expanded or open (depending on the item type - menu, tabstrip, panelbar). + + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item").Enabled((bool)ViewData["enabled"]) + %> + + + + + + Selects or unselects the item. By default items are not selected. + + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item").Selected(true)) + %> + + + + + + Sets the route to which the item should navigate. + + Name of the route. + The route values. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item").Route("Default", new RouteValueDictionary{{"id", 1}})) + %> + + + + + + Sets the route to which the item should navigate. + + Name of the route. + The route values. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item").Route("Default", new {id, 1})) + %> + + + + + + Sets the route to which the item should navigate. + + Name of the route. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item").Route("Default")) + %> + + + + + + Sets the action to which the item should navigate + + The route values of the Action method. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("Index").Action(MVC.Home.Index(3).GetRouteValueDictionary())) + %> + + + + + + Sets the action to which the item should navigate + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("Index").Action("Index", "Home", new RouteValueDictionary{{"id", 1}})) + %> + + + + + + Sets the action to which the item should navigate + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("Index").Action("Index", "Home", new {id, 1})) + %> + + + + + + Sets the action to which the item should navigate + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("Index").Action("Index", "Home")) + %> + + + + + + Sets the URL to which the item should navigate + + The value. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("www.example.com").Url("http://www.example.com")) + %> + + + + + + Sets the URL of the image that should be displayed by the item. + + The value. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("First Item").ImageUrl("~/Content/first.png")) + %> + + + + + + Sets the HTML attributes for the item image. + + The attributes. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items + .Add().Text("First Item") + .ImageUrl("~/Content/first.png") + .ImageHtmlAttributes(new {@class="first-item-image"})) + %> + + + + + + Sets the HTML attributes for the item image. + + The attributes. + + + + Sets the sprite CSS class names. + + The CSS classes. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items + .Add().Text("First Item") + .SpriteCssClasses("icon", "first-item") + %> + + + + + + Sets the HTML content which the item should display. + + The action which renders the content. + + <% Html.Telerik().Menu() + .Name("Menu") + .Items(items => items + .Add() + .Text("First Item") + .Content(() => + { + %> + <strong> First Item Content</strong> + <% + });) + .Render(); + %> + + + + + Sets the HTML content which the item should display. + + The content wrapped in a regular HTML tag or text tag (Razor syntax). + + @(Html.Telerik().Menu() + .Name("Menu") + .Items(items => items + .Add() + .Text("First Item") + .Content( + @<text> + Some text + <strong> First Item Content</strong> + </text> + ); + ) + ) + + + + + Sets the HTML content which the item should display as a string. + + The action which renders the content. + + <% Html.Telerik().Menu() + .Name("Menu") + .Items(items => items + .Add() + .Text("First Item") + .Content("<strong> First Item Content</strong>"); + ) + .Render(); + %> + + + + + Sets the HTML attributes of the content element of the item. + + The attributes. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items + .Add().Text("First Item") + .Content(() => { %> <strong>First Item Content</strong> <% }) + .ContentHtmlAttributes(new {@class="first-item-content"}) + %> + + + + + + Sets the HTML attributes of the content element of the item. + + The attributes. + + + + Makes the item navigate to the specified controllerAction method. + + The type of the controller. + The action. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items + .Add().Text("First Item") + .Action<HomeController>(controller => controller.Index())) + + %> + + + + + + Sets whether the Text property should be encoded when the item is rendered. + + Whether the property should be encoded. Default: true. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => items.Add().Text("<strong>First Item</strong>").Encoded(false)) + %> + + + + + + Initializes a new instance of the class. + + The item. + + + + Configures the child items of a . + + The add action. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }); + }) + %> + + + + + + Sets the value for the item. + + The value. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => items.Add().Value("1")) + %> + + + + + + Define when the item will be expanded on intial render. + + If true the item will be expanded. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }) + .Expanded(true); + }) + %> + + + + + + Define when the item will be checked on intial render. + + If true the item will be checked. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }) + .Checked(true); + }) + %> + + + + + + Enables/disables the rendering of a checkbox for this item. + + If false, no checkbox will be rendered. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }) + .Checkable(false); + }) + %> + + + + + + Sets the expand mode of the treeview item. + + If true then item will be load on demand from client side. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }) + .LoadOnDemand(true); + }) + %> + + + + + + Creates items for the . + + + + + Initializes a new instance of the class. + + The settings. + + + + Defines a item. + + + + + + Defines the fluent interface for configuring the treeview webservice. + + + + + Initializes a new instance of the class. + + The settings. + + + + Specify the web service url for loading data + + The web service url + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => dataBinding + .WebService().Select("~/Models/Employees.asmx/GetEmployees") + ) + %> + + + + + + Enables / disables web service functionality. + + Whether to enable or to disable the web service. + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .DataBinding(dataBinding => dataBinding + .Ajax().Enabled(true).Select("_AjaxLoading", "TreeView") + ) + %> + + + + The Enabled method is useful when you need to enable ajax based on certain conditions. + + + + + Telerik Treeview for ASP.NET MVC is a view component for presenting hierarchical data. + + + + + Initializes a new instance of the class. + + The view context. + The client side object writer factory. + The URL generator. + The navigation item authorization. + The builder factory. + + + + Gets the client events of the treeview. + + The client events. + + + + Gets the items of the treeview. + + + + + Gets or sets the item action. + + + + + Gets or sets the effects. + + + + + Gets or sets a value indicating whether all the item is expanded. + + true if expand all is enabled; otherwise, false. The default value is false + + + + Gets or sets a value indicating whether all the item is expanded. + + true if expand all is enabled; otherwise, false. The default value is false + + + + Gets or sets a value indicating whether all the item is expanded. + + true if expand all is enabled; otherwise, false. The default value is false + + + + Gets the ajax configuration. + + + + + Gets the web service configuration + + + + + + Defines whether one navigation item can have content output immediately + + + + + The HtmlAttributes which will be added to the wrapper of the content. + + + + + The action which will output the content. + + + + + Gets the id. + + The id. + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Sets whether datepicker to be rendered with button, which shows calendar on click. + + + + + Sets the title of the datepicker button. + + + + + Sets the value of the datepicker input + + + + + Sets the value of the datepicker input + + + + + Sets the minimal date, which can be selected in DatePicker. + + + + + Sets the maximal date, which can be selected in DatePicker. + + + + + Sets the Url, which will be requested to return the content. + + The route values of the Action method. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(parent => { + + parent.Add() + .LoadContentFrom(MVC.Home.Index().GetRouteValueDictionary()); + }) + %> + + + + + + Sets the Url, which will be requested to return the content. + + The action name. + The controller name. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(parent => { + + parent.Add() + .Text("Completely Open Source") + .LoadContentFrom("AjaxView_OpenSource", "PanelBar"); + }) + %> + + + + + + Sets the Url, which will be requested to return the content. + + The action name. + The controller name. + Route values. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(parent => { + + parent.Add() + .Text("Completely Open Source") + .LoadContentFrom("AjaxView_OpenSource", "PanelBar", new { id = 10}); + }) + %> + + + + + + Sets the Url, which will be requested to return the content. + + The url. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(parent => { + + parent.Add() + .Text("Completely Open Source") + .LoadContentFrom(Url.Action("AjaxView_OpenSource", "PanelBar")); + }) + %> + + + + + + Defines the fluent interface for configuring the ajax settings + + + + + Defines the fluent interface for building + + + + + Initializes a new instance of the class. + + The settings. + + + + Sets the route and values + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Route("Default", new {id=1})) + %> + + + + + + Sets the route and values + + Name of the route. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Route("Default", new RouteValueDictionary{{"id",1}})) + %> + + + + + + Sets the route name + + Name of the route. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Route("Default")) + %> + + + + + + Sets the action, controller and route values + + The route values of the Action method. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Action(MVC.Home.Index(1).GetRouteValueDictionary())) + %> + + + + + + Sets the action, controller and route values + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Action("Index", "Home", new {id = 1})) + %> + + + + + + Sets the action, controller and route values + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Action("Index", "Home", new RouteValueDictionary{ {"id", 1} })) + %> + + + + + + Sets the action, controller and route values + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Action("Index", "Home")) + %> + + + + + + Gets or sets the settings. + + The settings. + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables Ajax binding. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Ajax(ajax => ajax.Enabled((bool)ViewData["enableAjax"])) + %> + + + + The Enabled method is useful when you need to enable ajax based on certain conditions. + + + + + Initializes a new instance of the class. + + The property to which the column is bound to. + + + + Gets type of the property to which the column is bound to. + + + + + Gets or sets a value indicating whether this column is groupable. + + true if groupable; otherwise, false. + + + + Gets the name of the column + + + + + Gets a function which returns the value of the property to which the column is bound to. + + + + + Gets or sets a value indicating whether this is sortable. + + true if sortable; otherwise, false. The default value is true. + + + + Gets or sets a value indicating whether this is filterable. + + true if filterable; otherwise, false. The default value is true. + + + + Defines the fluent interface for configuring bound columns + + The type of the data item + + + + Initializes a new instance of the class. + + The column. + + + + Gets or sets the format for displaying the data. + + The value. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderDate).Format("{0:dd/MM/yyyy}")) + %> + + + + + + Makes the column read-only or not. By default bound columns are not read-only. + + + If a column is read-only it cannot be modified during editing. + + true if the column should be read-only;otherwise false + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderDate).ReadOnly(true)) + %> + + + + + + Makes the column read-only. + + + If a column is read-only it cannot be modified during editing. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderDate).ReadOnly()) + %> + + + + + + Specify which editor template should be used for the column + + name of the editor template + + + + Enables or disables sorting the column. All bound columns are sortable by default. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderDate).Sortable(false)) + %> + + + + + + Enables or disables grouping by that column. All bound columns are groupable by default. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderDate).Groupable(false)) + %> + + + + + + Enables or disables filtering the column. All bound columns are filterable by default. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderDate).Filterable(false)) + %> + + + + + + Enables or disables HTML encoding the data of the column. All bound columns are encoded by default. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns.Bound(o => o.OrderDate).Encoded(false)) + %> + + + + + + Sets the template for the column. + + The action defining the template. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .Columns(columns => columns + .Add(c => c.CustomerID) + .Template(() => + { + %> + >img + alt="<%= c.CustomerID %>" + src="<%= Url.Content("~/Content/Grid/Customers/" + c.CustomerID + ".jpg") %>" + /> + <% + }).Title("Picture");) + .Render(); + %> + + + + + + Sets the footer template for the column. + + The action defining the template. + + + + Sets the footer template for the column. + + The action defining the template. + + + + Sets the group footer template for the column. + + The action defining the template. + + + + Sets the group footer template for the column. + + The action defining the template. + + + + Sets the group footer template for the column. + + The action defining the template. + + + + Sets the group footer template for the column. + + The action defining the template. + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The events. + + + + Defines the inline handler of the OnLoad client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //Load handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //Load handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnSubmitChanges client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSubmitChanges(() => + { + %> + function(e) { + //handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSubmitChanges client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSubmitChanges( + @<text> + function(e) { + //handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSubmitChanges client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSubmitChanges("onSubmitChanges")) + %> + + + + + + Defines the inline handler of the OnEdit client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnEdit(() => + { + %> + function(e) { + //edit handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnEdit client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnEdit( + @<text> + function(e) { + //edit handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnEdit client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnEdit("onEdit")) + %> + + + + + + Defines the inline handler of the OnSave client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSave(() => + { + %> + function(e) { + //edit handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSave client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSave( + @<text> + function(e) { + //edit handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSave client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSave("onSave")) + %> + + + + + + Defines the inline handler of the OnDetailViewExpand client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDetailViewExpand(() => + { + %> + function(e) { + //edit handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnDetailViewExpand client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDetailViewExpand( + @<text> + function(e) { + //edit handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDetailViewExpand client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDetailViewExpand("onDetailViewExpand")) + %> + + + + + + Defines the inline handler of the OnDetailViewCollapse client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDetailViewCollapse(() => + { + %> + function(e) { + //edit handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnDetailViewCollapse client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDetailViewCollapse( + @<text> + function(e) { + //edit handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDetailViewCollapse client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDetailViewCollapse("onDetailViewCollapse")) + %> + + + + + + Defines the inline handler of the OnSave client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSave(() => + { + %> + function(e) { + //edit handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSave client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSave( + @<text> + function(e) { + //edit handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDelete client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnSave("onDelete")) + %> + + + + + + Defines the inline handler of the OnColumnResize client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnColumnResize(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnColumnResize client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnColumnResize( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnColumnResize client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnColumnResize("onColumnResize")) + %> + + + + + + Defines the inline handler of the OnColumnReorder client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnColumnReorder(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnColumnReorder client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnColumnReorder( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnColumnResize client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnColumnReorder("onColumnReorder")) + %> + + + + + + Defines the inline handler of the OnRowSelect client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnRowSelect(() => + { + %> + function(e) { + //Error handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnRowSelect client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnRowSelect( + @<text> + function(e) { + //Error handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnRowSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnRowSelect("onRowSelect")) + %> + + + + + + Defines the inline handler of the OnError client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + //Error handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + //Error handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Defines the inline error handler of the OnDataBound client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDataBound(() => + { + %> + function(e) { + //data bound handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline error handler of the OnDataBound client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDataBound( + @<text> + function(e) { + //data bound handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDataBound client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDataBound("onDataBound")) + %> + + + + + + Defines the inline error handler of the OnDataBinding client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDataBinding(() => + { + %> + function(e) { + //data binding handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline error handler of the OnDataBinding client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDataBinding( + @<text> + function(e) { + //data binding handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnDataBinding client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnDataBinding("onDataBinding")) + %> + + + + + + Defines the inline error handler of the OnRowDataBound client-side event. + + The action defining the inline handler. + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnRowDataBound(() => + { + %> + function(e) { + var row = e.row; + var dataItem = e.dataItem; + } + <% + })) + .Render(); + %> + + + + + + Defines the inline error handler of the OnRowDataBound client-side event. + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnRowDataBound( + @<text> + function(e) { + var row = e.row; + var dataItem = e.dataItem; + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnRowDataBound client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .ClientEvents(events => events.OnRowDataBound("onRowDataBound")) + %> + + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The column. + + + + Creates command for the . + + The type of the data item + + + + Initializes a new instance of the class. + + The column. + + + + Defines a edit command. + + + + + + Defines a delete command. + + + + + + Defines a select command. + + + + + + Defines the fluent interface for configuring . + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables filtering + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Filterable(filtering => filtering.Enabled((bool)ViewData["enableFiltering"])) + %> + + + + The Enabled method is useful when you need to enable filtering based on certain conditions. + + + + + Defines the fluent interface for configuring + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables scrolling. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Scrolling(scrolling => scrolling.Enabled((bool)ViewData["enableScrolling"])) + %> + + + + The Enabled method is useful when you need to enable scrolling based on certain conditions. + + + + + Sets the height of the scrollable area in pixels. + + The height in pixels. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Scrolling(scrolling => scrolling.Height(400)) + %> + + + + + + Sets the height of the scrollable. + + The height in pixels. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Scrolling(scrolling => scrolling.Height("20em")) + %> + + + + + + Defines the fluent interface for configuring the + + + + + Initializes a new instance of the class. + + The settings. + + + The pager will display only a status message + + + The pager will display first/previous/next/last links + + + The pager will display page numbers as link buttons. + + + The pager will display an input field and the total number of pages. + + + The pager will display a dropdown and the total number of pages. + + + (first) (previous) (page numbers) (next) (last) + + + (first) (previous) (page input field) (next) (last) + + + (first) (previous) (page size drop down) (next) (last) + + + + Defines the fluent interface for configuring + + + + + Enables or disables selection. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Selectable(selection => selection.Enabled((bool)ViewData["enableSelection"])) + %> + + + + The Enabled method is useful when you need to enable scrolling based on certain conditions. + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The settings. + + + + Enables or disables sorting. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Sorting(sorting => sorting.Enabled((bool)ViewData["enableSorting"])) + %> + + + + The Enabled method is useful when you need to enable sorting based on certain conditions. + + + + + Sets the sort mode of the grid. + + The value. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Sorting(sorting => sorting.SortMode(GridSortMode.MultipleColumns)) + %> + + + + + + Configures the initial sort order. + + The configurator. + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The settings. + + + + Sets the url of the web service which the will request for data. + + The value. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .WebService(webService => webService.Url("~/Models/Orders.asmx/GetOrders"))) + %> + + + + + + Enables or disables web service binding. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .WebService(webService => webService.Enabled((bool)ViewData["enableWebServiceBinding"])) + %> + + + + The Enabled method is useful when you need to enable web service binding based on certain conditions. + + + + + Specifies the animation duration of item. + + + + + Fast animation, duration is set to 200. + + + + + Normal animation, duration is set to 400. + + + + + Slow animation, duration is set to 600. + + + + + Helper class to convert jQuery Animation Duration. + + + + + Converts specified duration in jQuery equivalent value. + + The duration. + + + + + Defines the basic building block of creating client side object. + + + + + Starts writing this instance. + + + + + + Appends the specified key value pair to the end of this instance. + + The key value pair. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and nullable value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + The default value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + if set to true [value]. + + + + + Appends the specified name and value to the end of this instance. + + The name. + if set to true [value]. + if set to true [default value]. + + + + + Appends the specified name and only the date of the passed . + + The name. + The value. + + + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The action. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The action. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The HtmlTemplate. + + + + + Appends the object. + + The name. + The value. + + + + + Appends the specified name and Action or String specified in the ClientEvent object. + + The name. + Client event of the component. + + + + + Appends the specified name and value to the end of this instance. + + The type of the enum. + The name. + The value. + The default value. + + + + + Completes this instance. + + + + + Defines the factory to create . + + + + + Creates a writer. + + The id. + The type. + The text writer. + + + + + Defines the sort modes supported by + + + + + The user can sort only by one column at the same time. + + + + + The user can sort by more than one column at the same time. + + + + + Telerik Grid for ASP.NET MVC is a view component for presenting tabular data. + It supports the following features: + + Flexible databinding - server, ajax and web service + Paging, sorting and filtering + Light HTML and JavaScript footprint + + + The type of the data item which the grid is bound to. + + + + Initializes a new instance of the class. + + The view context. + The client side object writer factory. + The URL generator. + The builder factory. + + + + Gets the selection configuration + + + + + Gets the client events of the grid. + + The client events. + + + + Gets the filtering configuration. + + + + + Gets the web service configuration + + + + + Gets the server binding configuration. + + + + + Gets the scrolling configuration. + + + + + Gets the ajax configuration. + + + + + Gets or sets a value indicating whether custom binding is enabled. + + true if custom binding is enabled; otherwise, false. The default value is false + + + + Gets the paging configuration. + + + + + Gets the columns of the grid. + + + + + Gets or sets the data source. + + The data source. + + + + Gets the page size of the grid. + + + + + Gets the sorting configuration. + + The sorting. + + + + Gets or sets a value indicating whether to add the property of the grid as a prefix in url parameters. + + true if prefixing is enabled; otherwise, false. The default value is true + + + + Gets or sets the action executed when rendering a row. + + + + + Gets or sets the action executed when rendering a cell. + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Configures the grid resizing settings + + Resizing settings configurator method + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Resizable(resizing => resizing.Columns(true)) + %> + + + + + + Configures the grid reordering settings + + Resizing settings configurator method + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Reorderable(reordering => reordering.Columns(true)) + %> + + + + + + Sets the localization culture of the grid. + + The culture. + + + <%= Html.Telerik().Grid<Order>() + .Name("Orders") + .Localizable("de-DE") + %> + + + + + + Configures the grid editing settings. + + Configurator for the edit settings. + + + <%= Html.Telerik().Grid<Order>() + .Name("Orders") + .Editable(settings => settings.Enabled(true)) + %> + + + + + + Configures the toolbar of the grid. + + ToolBar configurator. + + + <%= Html.Telerik().Grid<Order>() + .Name("Orders") + .ToolBar(commands => commands.Insert()) + %> + + + + + + Defines a list of the private keys. + + DataKeys configurator. + + + <%= Html.Telerik().Grid<Order>() + .Name("Orders") + .DataKeys(keys => + { + keys.Add(c => c.CustomerID); + }) + %> + + + + + + Configure when to show footer of the grid. + + If it is true, the feature is visible. + + + + Binds the grid to a list of objects + + The type of the data item + The data source. + + + <%= Html.Telerik().Grid<Order>() + .Name("Orders") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]); + %> + + + + + + Callback for each row. + + Action, which will be executed for each row. + You can format the entire row + + + <%= Html.Telerik().Grid() + .Name("Grid") + .RowAction(row => + { + // "DataItem" is the Order object to which the current row is bound to + if (row.DataItem.Freight > 10) + { + //Set the background of the entire row + row.HtmlAttributes["style"] = "background:red;"; + } + }); + %> + + + + + + Callback for each cell. + + Action, which will be executed for each cell. + You can format a concrete cell. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .CellAction(cell => + { + if (cell.Column.Name == "Freight") + { + if (cell.DataItem.Freight > 10) + { + //Set the background of this cell only + cell.HtmlAttributes["style"] = "background:red;"; + } + } + }); + %> + + + + + + Enables or disables the custom binding of the grid. + + If true enables custom binding. + + + + + Defines the columns of the grid. + + The add action. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]); + %> + + + + + + Allows sorting of the columns. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Sortable(); + %> + + + + + + Allows sorting of the columns. + + Use builder to define sort settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Sortable(sorting => sorting.SortMode(GridSortMode.MultipleColumn) + %> + + + + + + Enables row selection. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Selectable() + %> + + + + + + Enables row selection. + + Use builder to define the selection settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Selectable(selection => selection.Enabled(true)) + %> + + + + + + Put grid name as a prefix. + + + + + Allows paging of the data. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Pageable(); + %> + + + + + + Allows paging of the data. + + Use builder to define paging settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Pageable(paging => + paging.PageSize(20) + .Style(GridPagerStyles.NextPreviousAndNumeric) + .Position(GridPagerPosition.Bottom) + ) + %> + + + + + + Use it to configure Server binding. + + Use builder to set different server binding settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .ServerBinding(serverBinding => serverBinding + .Action("Index", "Home", new {id = (string)ViewData["id"]}) + ) + .Pagealbe() + .Sortable(); + %> + + + + + + Use it to configure binding option when performing data operations - paging, sorting and filtering. + + Use builder to set different data binding options. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .DataBinding(dataBinding => + { + dataBinding.Server().Select("FirstLook", "Grid"}); + dataBinding.Ajax().Select("_FirstLook", "Grid").Enabled((bool)ViewData["ajax"]); + }) + .Pagealbe() + .Sortable(); + %> + + + + + + Use it to configure Ajax binding. + + Use builder to set different ajax binding settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_AjaxBinding", "Home")) + .Pagealbe() + .Sortable(); + %> + + + + + + Allows filtering of the columns. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Filterable(); + %> + + + + + + Allows filtering of the columns. + + Use builder to define filtering settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Filterable(filtering => filtering.Enabled(true); + %> + + + + + + Show scrollbar if there are many items. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Scrollable(); + %> + + + + + + Show scrollbar if there are many items. + + Use builder to define scrolling settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Scrollable(scrolling => scrolling.Enabled(true); + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .ClientEvents(events => events + .OnDataBinding("onDataBinding") + .OnRowDataBound("onRowDataBound") + ) + %> + + + + + + Use it to configure grouping. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Groupable(grouping => grouping.Enabled(true); + %> + + + + + + Allows grouping. + + + + <%= Html.Telerik().Grid() + .Name("Grid") + .Ajax(ajax => ajax.Action("_RelatedGrids_Orders", "Grid", new { customerID = "ALFKI" })) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + .BindTo((IEnumerable<Order>)ViewData["Orders"]) + .Groupable(); + %> + + + + + + Use it to configure web service binding. + + Use builder to set different web service binding settings. + + + <%= Html.Telerik().Grid() + .Name("Grid") + .WebService(webService => webService.Url("~/Models/Orders.asmx/GetOrders")) + .Columns(columns=> + { + columns.Add(c => c.OrderID).Width(100); + columns.Add(c => c.OrderDate).Width(200).Format("{0:dd/MM/yyyy}"); + columns.Add(c => c.ShipAddress); + columns.Add(c => c.ShipCity).Width(200); + }) + %> + + + + + + Sets the HTML content which the grid should display. + + The action which renders the message when grid has no data. + + + <% Html.Telerik().Grid() + .Name("Grid") + .NoRecordsTemplate(() => + { + %> + <strong> Hello World!!!;/strong> + <% + }) + %> + + + + + + Sets the empty message template which will be display if the grid has no data. + + The Razor inline message. + + + @(Html.Telerik().Grid() + .Name("Grid") + .NoRecordsTemplate(@<strong> Hello World!!!</strong>)) + + + + + + + Sets the empty message template which will be display if the grid has no data. + + The action which renders the message when grid has no data. + + <%= Html.Telerik().Grid() + .Name("Grid") + .NoRecordsTemplate("<strong> Hello World!!!</strong>") + %> + + + + + Creates columns for the . + + The type of the data item to which the grid is bound to + + + + Initializes a new instance of the class. + + The container. + + + + Defines a bound column. + + + + + + + + Defines a bound column. + + + + + + + + Defines a bound column. + + + + + Defines a bound column. + + + + + Determines if columns should be automatically generated. + + If true columns should be generated, otherwise false. + + + + Determines if columns should be automatically generated. + + Action which will be executed for each generated column. + + + + Defines a template column. + + + + + + + Defines a template column. + + + + + + + Defines a command column. + + + + + + + Used for action methods when using Ajax or Custom binding + + + + + Initializes a new instance of the class. + + + + + Gets or sets the name of the action parameter. The default value is "command". + + The name of the action parameter. + + + [GridAction(ActionParameterName="param")] + public ActionResult Index(GridCommand param) + { + } + + + + + + Gets or sets the name of the Grid that is populated by the associated action method. Required + when custom server binding is enabled and the grid query string parameters are prefixed. + + + + [GridAction(EnableCustomBinding=true, GridName="Employees")] + public ActionResult Index(GridCommand param) + { + } + + + + + + Gets or sets a value indicating whether custom binding is enabled. Used when implementing custom ajax binding. + + true if custom binding is enabled; otherwise, false. The default value is false. + + + [GridAction(EnableCustomBinding=true)] + public ActionResult Index(GridCommand param) + { + } + + + + + + Defines the fluent interface for configuring + + + + + Initializes a new instance of the class. + + The pager. + + + + Sets the position at which to display the pager. + + The pager position. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Pageable(paging => paging.Position(GridPagerPosition.Bottom)) + %> + + + + + + Sets the page size of the grid. + + The number of items to display in a single page. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Pageable(paging => paging.PageSize(20)) + %> + + + + + + Sets the page size of the grid. + + The number of items to display in a single page. + The values shown in the pageSize dropdown + + + + + Sets the current page of the grid. + + The page which the grid should display initially. Must be greater than zero. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Pageable(paging => paging.PageTo(2)) + %> + + + + + + Sets the pager style. + + The pager style to set. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Pageable(paging => paging.Style(GridPagerStyles.PageInput | GridPagerStyles.Numeric)) + %> + + + + + + Sets the total number of items in the data source. Required during Custom binding. + + The value. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Pageable(paging => paging.Total((int)ViewData["total"])) + %> + + + + + + Enables or disables paging. + + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + .Pageable(paging => paging.Enabled((bool)ViewData["enablePaging"])) + %> + + + + The Enabled method is useful when you need to enable paging based on certain conditions. + + + + + Defines methods to manipulate generic link object collections. + + + + + + Initializes a new instance of the class. + + The parent. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Copies the elements of the to an , starting at a particular index. + + The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. + The zero-based index in at which copying begins. + + is null. + + + is less than 0. + + + is multidimensional. + -or- + is equal to or greater than the length of . + -or- + The number of elements in the source is greater than the available space from to the end of the destination . + -or- + Type cannot be cast automatically to the type of the destination . + + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Gets or sets the T object that is the parent of the current node. + + The parent. + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Gets a value indicating whether the is read-only. + + + true if the is read-only; otherwise, false. + + + + Gets or sets the at the specified index. + + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Defines the items in the menu + + The add action. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => + events.OnOpen("onOpen").OnClose("onClose") + ) + %> + + + + + + Sets the menu orientation. + + The desired orientation. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Orientation(MenuOrientation.Vertical) + %> + + + + + + Enables or disables the "open-on-click" feature. + + + + <%= Html.Telerik().Menu() + .Name("Menu") + .OpenOnClick(true) + %> + + + + + + Binds the menu to a sitemap + + The view data key. + The action to configure the item. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .BindTo("examples", (item, siteMapNode) => + { + }) + %> + + + + + + Binds the menu to a sitemap. + + The view data key. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .BindTo("examples") + %> + + + + + + Binds the menu to a list of objects. The menu will be "flat" which means a menu item will be created for + every item in the data source. + + The type of the data item + The data source. + The action executed for every data bound item. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .BindTo(new []{"First", "Second"}, (item, value) + { + item.Text = value; + }) + %> + + + + + + Binds the menu to a list of objects. The menu will create a hierarchy of items using the specified mappings. + + The type of the data item + The data source. + The action which will configure the mappings + + + <%= Html.Telerik().Menu() + .Name("Menu") + .BindTo(Model, mapping => mapping + .For<Customer>(binding => binding + .Children(c => c.Orders) // The "child" items will be bound to the the "Orders" property + .ItemDataBound((item, c) => item.Text = c.ContactName) // Map "Customer" properties to MenuItem properties + ) + .For<Order<(binding => binding + .Children(o => null) // "Orders" do not have child objects so return "null" + .ItemDataBound((item, o) => item.Text = o.OrderID.ToString()) // Map "Order" properties to MenuItem properties + ) + ) + %> + + + + + + Configures the effects of the menu. + + The action which configures the effects. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Effects(fx => + { + fx.Slide() + .Opacity() + .OpenDuration(AnimationDuration.Normal) + .CloseDuration(AnimationDuration.Normal); + }) + + + + + + Selects the item at the specified index. + + The index. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + .SelectedIndex(1) + %> + + + + + + Callback for each item. + + Action, which will be executed for each item. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .ItemAction(item => + { + item + .Text(...) + .HtmlAttributes(...); + }) + %> + + + + + + Select item depending on the current URL. + + If true the item will be highlighted. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .HighlightPath(true) + %> + + + + + + Defines the fluent interface for configuring child menu items. + + + + + Initializes a new instance of the class. + + The item. + + + + Configures the child items of a . + + The add action. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }); + }) + %> + + + + + + Specifies the orientation in which the menu items will be ordered + + + + + Items are oredered horizontally + + + + + Items are oredered vertically + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The client events. + The view context. + + + + Defines the inline handler of the OnOpen client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnOpen(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnOpen( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnOpen client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnOpen("onOpen")) + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnClose(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnClose( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnClose client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnClose("onClose")) + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnSelect(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnSelect( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnSelect("onSelect")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Menu() + .Name("Menu") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + INavigatable extension for providing access to . + + + + + Sets the action, controller name and route values of object. + + The object. + The route values of the Action method. + + + + Sets the action and controller name, along with Route values of object. + + The object. + Action name. + Controller name. + Route values as an object + + + + Sets the action, controller name and route values of object. + + The object. + Action name. + Controller name. + Route values as + + + + Sets the action and route values of object. + + The object. + The controller action. + + + + Sets the url property of object. + + The object. + The Url. + + + + Sets the route name and route values of object. + + The object. + Route name. + Route values as an object. + + + + Sets the route name and route values of object. + + The object. + Route name. + Route values as . + + + + Generating url depending on the ViewContext and the generator. + + The object. + The object + The generator. + + + + Determines whether the specified navigatable matches the current request URL. + + The object. + The object. + The generator. + + + + + Generating url depending on the ViewContext and the generator. + + The object. + The object + The generator. + + + + Verify whether the object is accessible. + + The object. + The object. + The object + + + + Verifies whether collection of objects is accessible. + + Object of type. + The object. + The object. + The object + + + + Determines whether this instance has value. + + true if either ActionName and ControllerName, RouteName or Url are set; false otherwise + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Defines the items in the panelbar + + The add action. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => + events.OnExpand("onExpand").OnCollapse("onCollapse") + ) + %> + + + + + + Binds the panelbar to a sitemap + + The view data key. + The action to configure the item. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .BindTo("examples", (item, siteMapNode) => + { + }) + %> + + + + + + Binds the panelbar to a sitemap. + + The view data key. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .BindTo("examples") + %> + + + + + + Binds the panelbar to a list of objects + + The type of the data item + The data source. + The action executed for every data bound item. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .BindTo(new []{"First", "Second"}, (item, value) + { + item.Text = value; + }) + %> + + + + + + Binds the panelbar to a list of objects. The panelbar will create a hierarchy of items using the specified mappings. + + The type of the data item + The data source. + The action which will configure the mappings + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .BindTo(Model, mapping => mapping + .For<Customer>(binding => binding + .Children(c => c.Orders) // The "child" items will be bound to the the "Orders" property + .ItemDataBound((item, c) => item.Text = c.ContactName) // Map "Customer" properties to PanelBarItem properties + ) + .For<Order<(binding => binding + .Children(o => null) // "Orders" do not have child objects so return "null" + .ItemDataBound((item, o) => item.Text = o.OrderID.ToString()) // Map "Order" properties to PanelBarItem properties + ) + ) + %> + + + + + + Configures the effects of the panelbar. + + The action which configures the effects. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Effects(fx => + { + fx.Height() + .Opacity() + .OpenDuration(AnimationDuration.Normal) + .CloseDuration(AnimationDuration.Normal); + }) + + + + + + Callback for each item. + + Action, which will be executed for each item. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ItemAction(item => + { + item + .Text(...) + .HtmlAttributes(...); + }) + %> + + + + + + Select item depending on the current URL. + + If true the item will be highlighted. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .HighlightPath(true) + %> + + + + + + Renders the panelbar with expanded items. + + If true the panelbar will be expanded. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ExpandAll(true) + %> + + + + + + Sets the expand mode of the panelbar. + + The desired expand mode. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ExpandMode(PanelBarExpandMode.Multiple) + %> + + + + + + Selects the item at the specified index. + + The index. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + .SelectedIndex(1) + %> + + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The client events. + The view context. + + + + Defines the inline handler of the OnExpand client-side event + + The action defining the inline handler. + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnExpand(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnExpand client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnExpand( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnExpand client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnExpand("onExpand")) + %> + + + + + + Defines the inline handler of the OnCollapse client-side event + + The action defining the inline handler. + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnCollapse(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnCollapse client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnCollapse( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnCollapse client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnCollapse("onCollapse")) + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The action defining the inline handler. + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnSelect(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnSelect( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnSelect("onSelect")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnError client-side event + + The action defining the inline handler. + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Specifies the expand mode in which the panelbar will expand its items + + + + + Only one item can be expanded. + + + + + All items can be expanded + + + + + Defines the fluent interface for configuring child panelbar items. + + + + + Initializes a new instance of the class. + + The item. + The context of the View. + + + + Configures the child items of a . + + The add action. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }); + }) + %> + + + + + + Define when the item will be expanded on intial render. + + If true the item will be expanded. + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(items => + { + items.Add().Text("First Item").Items(firstItemChildren => + { + firstItemChildren.Add().Text("Child Item 1"); + firstItemChildren.Add().Text("Child Item 2"); + }) + .Expanded(true); + }) + %> + + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The client events. + The view context. + + + + Defines the inline handler of the OnSelect client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnSelect(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnSelect( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnSelect("onSelect")) + %> + + + + + + Defines the inline handler of the OnContentLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnContentLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnContentLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnContentLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnContentLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnContentLoad("onContentLoad")) + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnError client-side event + + The action defining the inline handler. + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Defines the items in the tabstrip + + The add action. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .ClientEvents(events => + events.OnSelect("onSelect").OnLoad("onLoad") + ) + %> + + + + + + Binds the tabstrip to a sitemap + + The view data key. + The action to configure the item. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .BindTo("examples", (item, siteMapNode) => + { + }) + %> + + + + + + Binds the tabstrip to a sitemap. + + The view data key. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .BindTo("examples") + %> + + + + + + Binds the tabstrip to a list of objects + + The type of the data item + The data source. + The action executed for every data bound item. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .BindTo(new []{"First", "Second"}, (item, value) + { + item.Text = value; + }) + %> + + + + + + Configures the effects of the tabstrip. + + The action which configures the effects. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .Effects(fx => + { + fx.Slide() + .Opacity() + .OpenDuration(AnimationDuration.Normal) + .CloseDuration(AnimationDuration.Normal); + }) + + + + + + Selects the item at the specified index. + + The index. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + .SelectedIndex(1) + %> + + + + + + Callback for each item. + + Action, which will be executed for each item. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .ItemAction(item => + { + item + .Text(...) + .HtmlAttributes(...); + }) + %> + + + + + + Select item depending on the current URL. + + If true the item will be highlighted. + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .HighlightPath(true) + %> + + + + + + Defines the fluent interface for configuring child tabstrip items. + + + + + Initializes a new instance of the class. + + The item. + The context of the View. + + + + Contains constants for CSS class names + + + + + Active state of items + + + + + Button with plain text content + + + + + Button with an icon and text content + + + + + Button with an icon only + + + + + Bare button with an icon only (no background and borders) + + + + + Content - rendered around custom content + + + + + Default state of items + + + + + Disabled state of items + + + + + Group - rendered around grouped items (children) + + + + + Header - rendered on headers or header items + + + + + Hovered state of items + + + + + Icon - icon from default icon set + + + + + Image - image rendered through ImageUrl + + + + + Item - rendered on items + + + + + First in list of items + + + + + Last in list of items + + + + + Top in list of items + + + + + Bottom in list of items + + + + + Middle in list of items + + + + + Last in list of headers + + + + + Link - rendered on all links + + + + + Reset - removes inherited styles + + + + + Selected state of items + + + + + Sprite - sprite rendered in the begging of the item. + + + + + Widget - rendered always on the outmost HTML element of a UI component + + + + + Input - input rendered in the div wrapper + + + + + CheckBox - rendered on all checkbox + + + + + ToolBar - rendered on all toolbars + + + + + Alternating class for zebra stripes + + + + + Scrollable - rendered on all elements that wish to be scrollable on touch devices + + + + + Contains CSS classes for icons + + + + + "Delete" icon + + + + + "Delete Group" icon + + + + + "Minimize" icon + + + + + "Maximize" icon + + + + + "Close" icon + + + + + Contains CSS classes, used in the grid + + + + + Grid action + + + + + Container element for editing / inserting form + + + + + Container element for editing / inserting form + + + + + Toolbar which contains different commands + + + + + Contains CSS classes, used in the treeview + + + + + Class that shows treeview lines + + + + + Contains CSS classes, used in the editor + + + + + Button in editor toolbar + + + + + Color picker in editor toolbar + + + + + Editor tool icon + + + + + Editor custom tool + + + + + Editor textarea element + + + + Slider increase button. + + + Slider decrease button. + + + Horizontal splitter + + + Vertical splitter + + + Splitter pane + + + + UI primitives for Upload + + + + + Upload button + + + + + Contains CSS classes, used in the window + + + + + Window buttons class + + + + + Window content area + + + + + Window icon + + + + + Window title bar + + + + + A builder class for + + + + + Initializes a new instance of the class. + + The async settings. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Save", "Home", new RouteValueDictionary{ {"id", 1} }) + ) + %> + + + + + + Sets a value indicating whether to start the upload immediately after selecting a file + + true if the upload should start immediately after selecting a file, false otherwise; true by default + + + + + + + Sets the action, controller and route values for the save operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Save", "Home", new RouteValueDictionary{ {"id", 1} }); + ) + %> + + + + + + Sets the action, controller and route values for the save operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Save", "Home", new { id = 1 }); + ) + %> + + + + + + Sets the action and controller for the save operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Save", "Home"); + ) + %> + + + + + + Sets the route name for the save operation + + Name of the route. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Default"); + ) + %> + + + + + + Sets the route values for the save operation + + The route values of the action method. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save(MVC.Home.Save(1).GetRouteValueDictionary()); + ) + %> + + + + + + Sets the route and values for the save operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + ) + %> + + + + + + Sets the route and values for the save operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Default", new { id = 1 }); + ) + %> + + + + + + Sets the action for the save operation + + The type of the controller. + The action. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save<HomeController>(controller => controller.Save())); + ) + %> + + + + + + Sets the action, controller and route values for the remove operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove("Remove", "Home", new RouteValueDictionary{ {"id", 1} }); + ) + %> + + + + + + Sets the action, controller and route values for the remove operation + + Name of the action. + Name of the controller. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove("Remove", "Home", new { id = 1 }); + ) + %> + + + + + + Sets the action and controller for the remove operation + + Name of the action. + Name of the controller. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove("Remove", "Home"); + ) + %> + + + + + + Sets the route name for the remove operation + + Name of the route. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove("Default"); + ) + %> + + + + + + Sets the route values for the remove operation + + The route values of the action method. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove(MVC.Home.Remove(1).GetRouteValueDictionary()); + ) + %> + + + + + + Sets the route and values for the remove operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove("Default", "Home", new RouteValueDictionary{ {"id", 1} }); + ) + %> + + + + + + Sets the route and values for the remove operation + + Name of the route. + The route values. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove("Default", new { id = 1 }); + ) + %> + + + + + + Sets the action for the remove operation + + The type of the controller. + The action. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Remove<HomeController>(controller => controller.Remove())); + ) + %> + + + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The component. + + + + Configures the client-side events. + + The client events configuration action. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events + .OnLoad("onLoad") + .OnUpload("onUpload") + ) + %> + + + + + + Enables or disables the component. + + true if the component should be enabled, false otherwise; the default is true. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Enable(false) + %> + + + + + + Enables or disables multiple file selection. + + true if multiple file selection should be enabled, false otherwise; the default is true. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Multiple(false) + %> + + + + + + Sets a value indicating whether to show the list of uploaded files + + true if the list of uploaded files should be visible, false otherwise; true by default + + + + Use it to configure asynchronous uploading. + + Use builder to set different asynchronous uploading options. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Async(async => async + .Save("Save", "Compose") + .Remove("Remove", "Compose") + ); + %> + + + + + + Sets the localization culture of the upload. + + The culture. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .Localizable("de-DE") + %> + + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The client events. + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnSelect(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSelect client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnSelect( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSelect client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnSelect("onSelect")) + %> + + + + + + Defines the inline handler of the OnUpload client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnUpload(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnUpload client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnUpload( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnUpload client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnUpload("onUpload")) + %> + + + + + + Defines the inline handler of the OnSuccess client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnSuccess(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnSuccess client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnSuccess( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnSuccess client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnSuccess("onSuccess")) + %> + + + + + + Defines the inline handler of the OnError client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Defines the inline handler of the OnComplete client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnComplete(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnComplete client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnComplete( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnComplete client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnComplete("onComplete")) + %> + + + + + + Defines the inline handler of the OnCancel client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnCancel(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnCancel client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnCancel( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnCancel client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnCancel("onCancel")) + %> + + + + + + Defines the inline handler of the OnRemove client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnRemove(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnRemove client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnRemove( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnRemove client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Upload() + .Name("Upload") + .ClientEvents(events => events.OnRemove("onRemove")) + %> + + + + + + An HTML Builder for the Upload component + + + + + Initializes a new instance of the class. + + The Upload component. + + + + Creates the upload top-level div. + + + + + + Creates the button text element. + + + + + + Creates the file input element. + + + + + + Builds the Upload component markup. + + + + + + Defines an interface for asynchronous upload settings + + + + + Defines the Save action + + + + + Defines the Remove action + + + + + Gets or sets a value indicating whether to start the upload immediately after selecting a file + + + + + Defines the asynchronous uploading settings + + + + + Initializes a new instance of the class. + + + + + Serializes the asynchronous uploading settings to the writer. + + The writer object. + + + + Defines the Save action + + + + + Defines the Remove action + + + + + Gets or sets a value indicating whether to start the upload immediately after selecting a file + + + true if the upload should start immediately after selecting a file, false otherwise; true by default + + + + + Telerik Upload for ASP.NET MVC is a view component for uploading files. + It supports the following features: + + Asynchronous uploading + Progress tracking + Multiple file selection + Drag & drop + + Note that some of the features depend on browser capabilities. + For more information, see the online documentation. + + + + + Initializes a new instance of the class. + + The view context. + The client side object writer factory. + + + + Writes the initialization script. + + The writer object. + + + + Writes the Upload HTML. + + The writer object. + + + + Represents the client-side event handlers for the component + + + + + Gets or sets a value indicating if the component is enabled. + + + true if the component should be enabled, false otherwise; the default is true. + + + + + Gets or sets a value indicating if multiple file selection is enabled. + + + true if multiple file selection should be enabled, false otherwise; the default is true. + + + + + Gets or sets a value indicating whether to show the list of uploaded files + + + true if the list of uploaded files should be visible, false otherwise; true by default + + + + + Defines the asynchronous uploading settings + + + + + Gets or sets the URL generator. + + The URL generator. + + + + The localization strings for the component + + + + + Represents the client-side events of the component. + + + + + Initializes a new instance of the class. + + + + + Serializes the client-side events. + + The writer object to serialize to. + + + + Defines the Load client-side event handler + + + + + Defines the Select client-side event handler + + + + + Defines the Upload client-side event handler + + + + + Defines the Success client-side event handler + + + + + Defines the Error client-side event handler + + + + + Defines the Complete client-side event handler + + + + + Defines the Cancel client-side event handler + + + + + Defines the Remove client-side event handler + + + + + Localization strings for the Upload component + + + + + Initializes a new instance of the class. + + The localization service. + The culture. + + + + Serializes the localization strings. + + The key. + The writer. + + + + Gets the Select string. + + The default value is "Select...". + + + + Gets the Cancel string. + + The default value is "Cancel". + + + + Gets the Retry string. + + The default value is "Retry". + + + + Gets the Remove string. + + The default value is "Remove". + + + + Gets the UploadSelectedFiles string. + + The default value is "Upload files". + + + + Gets the DropFilesHere string. + + The default value is "drop files here to upload". + + + + Gets the "uploading" status string. + + The default value is "uploading". + + + + Gets the "uploaded" status string. + + The default value is "uploaded". + + + + Gets the "failed" status string. + + The default value is "failed". + + + + Provides the factory methods for creating Telerik View Components. + + + + + Creates a + + + + <%= Html.Telerik().StyleSheetRegistrar() + .DefaultGroup(group => group + group.Add("Site.css") + .Add("telerik.common.css") + .Add("telerik.vista.css") + .Compressed(true) + ) + %> + + + + + + Creates a + + + + <%= Html.Telerik().ScriptRegistrar() + %> + + + + + + Creates a + + + + <%= Html.Telerik().Menu() + .Name("Menu") + .Items(items => { /* add items here */ }); + %> + + + + + + Creates a + + + + <%= Html.Telerik().Editor() + .Name("Editor"); + %> + + + + + + Creates a new bound to the specified data item type. + + + The type of the data item + + <%= Html.Telerik().Grid<Order>() + .Name("Grid") + .BindTo(Model) + %> + + + + Do not forget to bind the grid using the method when using this overload. + + + + + Creates a new bound to the specified data source. + + The type of the data item + The data source. + + + <%= Html.Telerik().Grid(Model) + .Name("Grid") + %> + + + + + + Creates a new bound to a DataTable. + + DataTable from which the grid instance will be bound + + + + Creates a new bound to a DataView. + + DataView from which the grid instance will be bound + + + + Creates a new bound an item in ViewData. + + Type of the data item + The data source view data key. + + + <%= Html.Telerik().Grid<Order>("orders") + .Name("Grid") + %> + + + + + + Creates a + + + + <%= Html.Telerik().Splitter() + .Name("Splitter"); + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().TabStrip() + .Name("TabStrip") + .Items(items => + { + items.Add().Text("First"); + items.Add().Text("Second"); + }) + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DateTimePicker() + .Name("DateTimePicker") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DatePicker() + .Name("DatePicker") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().TimePicker() + .Name("TimePicker") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().Calendar() + .Name("Calendar") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().PanelBar() + .Name("PanelBar") + .Items(items => + { + items.Add().Text("First"); + items.Add().Text("Second"); + }) + %> + + + + + + Creates a + + + + <%= Html.Telerik().TreeView() + .Name("TreeView") + .Items(items => { /* add items here */ }); + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().NumericTextBox() + .Name("NumericTextBox") + %> + + + Returns . + + + + + Creates a new . + + + + <%= Html.Telerik().CurrencyTextBox() + .Name("CurrencyTextBox") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().PercentTextBox() + .Name("PercentTextBox") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().IntegerTextBox() + .Name("IntegerTextBox") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().Window() + .Name("Window") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DropDownList() + .Name("DropDownList") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().ComboBox() + .Name("ComboBox") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().AutoComplete() + .Name("AutoComplete") + .Items(items => + { + items.Add().Text("First Item"); + items.Add().Text("Second Item"); + }) + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().Slider() + .Name("Slider") + %> + + + + + + Creates a new . + + + + <%= Html.Telerik().RangeSlider() + .Name("RangeSlider") + %> + + + + + + Creates a + + + + <%= Html.Telerik().Upload() + .Upload("Upload") + .Async(async => async + .Save("ProcessAttachments", "Home") + .Remove("RemoveAttachment", "Home") + ); + %> + + + + + + Creates a new UI component. + + + + + Creates a new . + + + + <%= Html.Telerik().NumericTextBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().NumericTextBoxFor(m=>m.NullableProperty) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().IntegerTextBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().IntegerTextBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().CurrencyTextBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().CurrencyTextBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().PercentTextBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().PercentTextBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DateTimePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DateTimePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DatePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DatePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().TimePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().TimePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().TimePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().TimePickerFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().DropDownListFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().ComboBoxFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().AutoCompleteFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().SliderFor(m=>m.Property) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().SliderFor(m=>m.NullableProperty) %> + + + + + + Creates a new . + + + + <%= Html.Telerik().RangeSliderFor(m=>m.Property) %> + + + + + + Enables zoom animation. + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The instance that is to be configured + + + + Configures the window to show a close button + + + + <%= Html.Telerik().Window() + .Name("Window") + .Buttons(buttons => buttons.Close()) + %> + + + + + + Configures the window to show a close button and sets a fallback URL for environments where JavaScript is turned off. + + The fallback URL + + + <%= Html.Telerik().Window() + .Name("Window") + .Buttons(buttons => buttons.Close(Url.Action("Home", "Index"))) + %> + + + + + + Configures the window to show a minimize button + + + + <%= Html.Telerik().Window() + .Name("Window") + .Buttons(buttons => buttons.Maximize()) + %> + + + + + + Configures the window to show a minimize button and sets a fallback URL for environments where JavaScript is turned off. + + The fallback URL + + + <%= Html.Telerik().Window() + .Name("Window") + .Buttons(buttons => buttons.Maximize(Url.Action("Home", "Index"))) + %> + + + + + + Configures the window to show a refresh button + + + + <%= Html.Telerik().Window() + .Name("Window") + .Buttons(buttons => buttons.Refresh()) + %> + + + + + + Configures the window to show a refresh button and sets a fallback URL for environments where JavaScript is turned off. + + The fallback URL + + + <%= Html.Telerik().Window() + .Name("Window") + .Buttons(buttons => buttons.Refresh(Url.Action("Home", "Index"))) + %> + + + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The client events. + The view context. + + + + Defines the inline handler of the OnLoad client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnLoad(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnLoad client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnLoad( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnLoad client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnLoad("onLoad")) + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnOpen(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnOpen client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnOpen( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnOpen client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnOpen("onOpen")) + %> + + + + + + Defines the inline handler of the OnActivate client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnActivate(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnActivate client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnActivate( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnActivate client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnActivate("onActivate")) + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnClose(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnClose client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnClose( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnClose client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnClose("onClose")) + %> + + + + + + Defines the inline handler of the OnMove client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnMove(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnMove client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnMove( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnMove client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnMove("onMove")) + %> + + + + + + Defines the inline handler of the OnResize client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnResize(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnResize client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnResize( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnResize client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnResize("onResize")) + %> + + + + + + Defines the inline handler of the OnRefresh client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnRefresh(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnRefresh client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnRefresh( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnRefresh client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnRefresh("onRefresh")) + %> + + + + + + Defines the inline handler of the OnError client-side event + + The action defining the inline handler. + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnError(() => + { + %> + function(e) { + //event handling code + } + <% + })) + .Render(); + %> + + + + + + Defines the inline handler of the OnError client-side event + + The handler code wrapped in a text tag (Razor syntax). + + + <% Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnError( + @<text> + function(e) { + //event handling code + } + </text> + )) + .Render(); + %> + + + + + + Defines the name of the JavaScript function that will handle the the OnError client-side event. + + The name of the JavaScript function that will handle the event. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => events.OnError("onError")) + %> + + + + + + Sets path to the icon. + + Path to the icon. + + + <%= Html.Telerik().Window() + .Name("Window") + .Icon(Url.Content("~/Content/Icons/WindowIcon.png")) + %> + + + + + + Sets path and alternative text to the icon. + + Path to the icon. + Alternative text to the icon. + + + <%= Html.Telerik().Window() + .Name("Window") + .Icon(Url.Content("~/Content/Icons/WindowIcon.png"), "icon") + %> + + + + + + Sets title, which appears in the header of the window. + + + + + Sets the HTML content which the window should display. + + The action which renders the content. + + + <% Html.Telerik().Window() + .Name("Window") + .Content(() => + { + %> + <strong> First Item Content</strong> + <% + }) + %> + + + + + + Sets the HTML content which the window should display + + The Razor inline template + + + @(Html.Telerik().Window() + .Name("Window") + .Content(@<strong> Hello World!!!</strong>)) + + + + + + + Sets the HTML content which the item should display as a string. + + The action which renders the content. + + <%= Html.Telerik().Window() + .Name("Window") + .Content("<strong> First Item Content</strong>") + %> + + + + + Sets the HTML attributes of the content element of the item. + + The attributes. + + + <%= Html.Telerik().Window() + .Name("Window") + .Content(() => { %> <strong>First Item Content</strong> <% }) + .ContentHtmlAttributes(new {@class="first-item-content"}) + %> + + + + + + Sets the HTML attributes of the content element of the item. + + The attributes. + + + + Sets the Url, which will be requested to return the content. + + The route values of the Action method. + + + <%= Html.Telerik().Window() + .Name("Window") + .LoadContentFrom(MVC.Home.Index().GetRouteValueDictionary()); + %> + + + + + + Sets the Url, which will be requested to return the content. + + The action name. + The controller name. + + + <%= Html.Telerik().Window() + .Name("Window") + .LoadContentFrom("AjaxView_OpenSource", "Window") + %> + + + + + + Sets the Url, which will be requested to return the content. + + The action name. + The controller name. + Route values. + + + <%= Html.Telerik().Window() + .Name("Window") + .LoadContentFrom("AjaxView_OpenSource", "Window", new { id = 10}) + %> + + + + + + Sets the Url, which will be requested to return the content. + + The url. + + + <%= Html.Telerik().Window() + .Name("Window") + .LoadContentFrom(Url.Action("AjaxView_OpenSource", "Window")) + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => + events.OnOpen("onOpen").OnClose("onClose") + ) + %> + + + + + + Enables windows resizing. + + + + <%= Html.Telerik().Window() + .Name("Window") + .Resizable() + %> + + + + + + Configures the resizing ability of the window. + + Resizing settings action. + + + <%= Html.Telerik().Window() + .Name("Window") + .Resizable(settings => + settings.Enabled(true).MaxHeight(500).MaxWidth(500) + ) + %> + + + + + + Configures the client-side events. + + The client events action. + + + <%= Html.Telerik().Window() + .Name("Window") + .ClientEvents(events => + events.OnOpen("onOpen").OnClose("onClose") + ) + %> + + + + + + Sets the width of the window. + + + + + Sets the height of the window. + + + + + Sets whether the window should be rendered visible. + + + + + Sets whether the window should have scrollbars. + + + + + Configures the effects of the window. + + The action which configures the effects. + + + <%= Html.Telerik().Window() + .Name("Window") + .Effects(fx => + { + fx.Zoom() + .Opacity() + .OpenDuration(AnimationDuration.Fast) + .CloseDuration(AnimationDuration.Fast); + }) + + + + + + Sets whether the window should be modal or not. + + + + + Sets whether the window can be moved. + + + + + Builder class for fluently configuring the shared group. + + + + + Initializes a new instance of the class. + + The default path. + The assets. + + + + Adds the group. + + The name. + The configure action. + + + + + Gets the group. + + The name. + The configure action. + + + + + + + + + + Executes the provided delegate that is used to configure stylesheets. + + The configure action. + + + + Executes the provided delegate that is used to configure scripts. + + The configure action. + + + + The web asset Configuration. + + + + + Gets the name of the section. + + The name of the section. + + + + Gets or sets a value indicating whether to use telerik content delivery network. + + + true if [use telerik content delivery network]; otherwise, false. + + + + + Gets the style sheets. + + The style sheets. + + + + Gets the scripts. + + The scripts. + + + + Web asset item configuration element. + + + + + Gets or sets the source. + + The source. + + + + Web asset item configuration collection. + + + + + Adds the specified element. + + The element. + + + + When overridden in a derived class, creates a new . + + + A new . + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + The to return the key for. + + An that acts as the key for the specified . + + + + + Gets the with the specified source. + + + + + + Web asset group configuration element. + + + + + Gets or sets the name. + + The name. + + + + Gets or sets the default path. + + The default path. + + + + Gets or sets a value indicating whether to use telerik content delivery network. + + + true if [use telerik content delivery network]; otherwise, false. + + + + + Gets or sets the content delivery network URL. + + The content delivery network URL. + + + + Gets or sets a value indicating whether this is enabled. + + true if enabled; otherwise, false. + + + + Gets or sets the version. + + The version. + + + + Gets or sets a value indicating whether this is compress. + + true if compress; otherwise, false. + + + + Gets or sets the cache duration in days. + + The cache duration in days. + + + + Gets or sets a value indicating whether this is combined. + + true if combined; otherwise, false. + + + + Gets the items. + + The items. + + + + Web asset group configuration collection + + + + + Adds the specified element. + + The element. + + + + When overridden in a derived class, creates a new . + + + A new . + + + + + Gets the element key for a specified configuration element when overridden in a derived class. + + The to return the key for. + + An that acts as the key for the specified . + + + + + Gets the with the specified name. + + + + + + The HttpHandler to compress, cache and combine web assets. + + + + + Initializes a new instance of the class. + + The asset registry. + The HTTP response compressor. + The HTTP response cacher. + + + + Initializes a new instance of the class. + + + + + Enables a WebAssetHttpHandler object to process of requests. + + The context. + + + + Gets or sets the default path of the asset. + + The default path. + + + + Gets or sets the name of the id parameter. + + The name of the id parameter. + + + + Contains default asset settings. + + + + + Gets or sets the style sheet files path. Path must be a virtual path. + + The style sheet files path. + + + + Gets or sets the script files path. Path must be a virtual path. + + The script files path. + + + + Gets or sets the version. + + The version. + + + + Gets or sets a value indicating whether assets should be served as compressed. + + true if compress; otherwise, false. + + + + Gets or sets a value indicating whether assets shoule be combined. + + true if combined; otherwise, false. + + + + Gets or sets the cache duration in days. + + The cache duration in days. + + + + Gets or sets a value indicating whether [use telerik content delivery network]. + + + true if [use telerik content delivery network]; otherwise, false. + + + + + Defines members that a class must implement in order to provide helper methods for resolving virtual path. + + + + + Returns the physical path for the specified virtual path. + + The virtual path. + + + + + Defines members that a class must implement in order to compress the response. + + + + + Compresses the response. + + The context. + + + + Defines members that must be implemented for cache the http response + + + + + Caches the response for the specified duration. + + The context. + The duration. + + + + Defines the read operaations of configuration. + + + + + Gets the section with the specified name. + + + Name of the section. + + + + + Defines the factory to create . + + + + + Creates a writer. + + The id. + The type. + The text writer. + + + + + Provides an attribute to change the enum value for client side. + + + + + Initializes a new instance of the class with the specified value for the client side. + + The value. + + + + Gets or sets the value for client side. + + The value. + + + + Encapsulates the ConfigurationManager object that contains methods for accessing System.Web.HttpRuntime.Cache object. + + + + + Gets the section with the specified name. + + + Name of the section. + + + + + Contains extension methods of IDictionary<string, objectT>. + + + + + Merges the specified instance. + + The instance. + The key. + The value. + if set to true [replace existing]. + + + + Appends the in value. + + The instance. + The key. + The separator. + The value. + + + + Appends the specified value at the beginning of the existing value + + + + + + + + + Toes the attribute string. + + The instance. + + + + + Merges the specified instance. + + The instance. + From. + if set to true [replace existing]. + + + + Merges the specified instance. + + The instance. + From. + + + + Merges the specified instance. + + The instance. + The values. + if set to true [replace existing]. + + + + Merges the specified instance. + + The instance. + The values. + + + + Contains extension methods of . + + + + + Requests the context. + + The instance. + + + + + Gets a value indicating whether we're running under Mono. + + true if Mono; otherwise, false. + + + + Gets a value indicating whether we're running under Linux or a Unix variant. + + true if Linux/Unix; otherwise, false. + + + + Encapsulates the HTTP intrinsic object that compress the response + + + + + Compresses the response. + + The context. + + + + Class use to resolve physical path for virtual path. + + + + + Returns the physical path for the specified virtual path. + + The virtual path. + + + + + Helper class for argument validation. + + + + + Ensures the specified argument is not null. + + The parameter. + Name of the parameter. + + + + Ensures the specified string is not blank. + + The parameter. + Name of the parameter. + + + + Ensures the specified array is not null or empty. + + + The parameter. + Name of the parameter. + + + + Ensures the specified collection is not null or empty. + + + The parameter. + Name of the parameter. + + + + Ensures the specified value is a positive integer. + + The parameter. + Name of the parameter. + + + + Ensures the specified value is not a negative integer. + + The parameter. + Name of the parameter. + + + + Ensures the specified value is not a negative float. + + The parameter. + Name of the parameter. + + + + Ensures the specified path is a virtual path which starts with ~/. + + The parameter. + Name of the parameter. + + + + Contains extension methods of . + + + + + Starts thread safe read write code block. + + The instance. + + + + + Starts thread safe read code block. + + The instance. + + + + + Starts thread safe write code block. + + The instance. + + + + + Contains the extension methods of . + + + + + Replaces the format item in a specified System.String with the text equivalent of the value of a corresponding System.Object instance in a specified array. + + A string to format. + An System.Object array containing zero or more objects to format. + A copy of format in which the format items have been replaced by the System.String equivalent of the corresponding instances of System.Object in args. + + + + Determines whether this instance and another specified System.String object have the same value. + + The string to check equality. + The comparing with string. + + true if the value of the comparing parameter is the same as this string; otherwise, false. + + + + + Determines whether this instance and another specified System.String object have the same value. + + The string to check equality. + The comparing with string. + + true if the value of the comparing parameter is the same as this string; otherwise, false. + + + + + Compresses the specified instance. + + The instance. + + + + + Decompresses the specified instance. + + The instance. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to "{0}" array cannot be empty.. + + + + + Looks up a localized string similar to You must use InCell edit mode for batch updates.. + + + + + Looks up a localized string similar to The Update data binding setting is required for batch updates. Please specify the Update action or url in the DataBinding configuration.. + + + + + Looks up a localized string similar to "{0}" cannot be negative.. + + + + + Looks up a localized string similar to "{0}" cannot be negative or zero.. + + + + + Looks up a localized string similar to "{0}" cannot be null.. + + + + + Looks up a localized string similar to "{0}" cannot be null or empty.. + + + + + Looks up a localized string similar to Cannot find a public property of primitive type to sort by.. + + + + + Looks up a localized string similar to Cannot have more one column in order when sort mode is set to single column.. + + + + + Looks up a localized string similar to Cannot route to class named 'Controller'.. + + + + + Looks up a localized string similar to Cannot use Ajax and WebService binding at the same time.. + + + + + Looks up a localized string similar to Cannot use only server templates in Ajax or WebService binding mode. Please specify a client template as well.. + + + + + Looks up a localized string similar to "{0}" collection cannot be empty.. + + + + + Looks up a localized string similar to Multiple types were found that match the controller named '{0}'. This can happen if the route that services this request does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter. + + The request for '{0}' has found the following matching controllers:{1}. + + + + + Looks up a localized string similar to Multiple types were found that match the controller named '{0}'. This can happen if the route that services this request ('{1}') does not specify namespaces to search for a controller that matches the request. If this is the case, register this route by calling an overload of the 'MapRoute' method that takes a 'namespaces' parameter. + + The request for '{0}' has found the following matching controllers:{2}. + + + + + Looks up a localized string similar to Controller name must end with 'Controller'.. + + + + + Looks up a localized string similar to The DataKeys collection is empty. Please specify a data key.. + + + + + Looks up a localized string similar to DataTable InLine editing and custom EditorTemplate per column is not supported. + + + + + Looks up a localized string similar to The Delete data binding setting is required by the delete command. Please specify the Delete action or url in the DataBinding configuration.. + + + + + Looks up a localized string similar to The Update data binding setting is required by the edit command. Please specify the Update action or url in the DataBinding configuration.. + + + + + Looks up a localized string similar to {0} should not be bigger then {1}.. + + + + + Looks up a localized string similar to Group with specified name already exists.. + + + + + Looks up a localized string similar to Group with specified name "{0}" already exists. Please specify a different name.. + + + + + Looks up a localized string similar to Group with "{0}" does not exist in {1} SharedWebAssets.. + + + + + Looks up a localized string similar to Group with specified name "{0}" does not exist. Please make sure you have specified a correct name.. + + + + + Looks up a localized string similar to InCell editing mode is not supported in server binding mode. + + + + + Looks up a localized string similar to Provided index is out of range.. + + + + + Looks up a localized string similar to The Insert data binding setting is required by the insert command. Please specify the Insert action or url in the DataBinding configuration.. + + + + + Looks up a localized string similar to Item with specified source already exists.. + + + + + Looks up a localized string similar to Local group with name "{0}" already exists.. + + + + + Looks up a localized string similar to The key with the following name "{0}" was not found. Please update all localization files.. + + + + + Looks up a localized string similar to Bound columns require a field or property access expression.. + + + + + Looks up a localized string similar to {0} should be less than {1}.. + + + + + Looks up a localized string similar to Name cannot be blank.. + + + + + Looks up a localized string similar to "None" is only used for internal purpose.. + + + + + Looks up a localized string similar to Only one ScriptRegistrar is allowed in a single request.. + + + + + Looks up a localized string similar to Only one StyleSheetRegistrar is allowed in a single request.. + + + + + Looks up a localized string similar to Only property and field expressions are supported. + + + + + Looks up a localized string similar to The {0} must be begger then 0.. + + + + + Looks up a localized string similar to {0} must be positive number.. + + + + + Looks up a localized string similar to {0} should be bigger than {1} and less then {2}. + + + + + Looks up a localized string similar to The "{0}" class is no longer supported. To enable RTL support you must include telerik.rtl.css and apply the "t-rtl" class to a parent HTML element or the <body>.. + + + + + Looks up a localized string similar to You must have SiteMap defined with key "{0}" in ViewData dictionary.. + + + + + Looks up a localized string similar to Source must be a virtual path which should starts with "~/". + + + + + Looks up a localized string similar to Specified file does not exist: "{0}".. + + + + + Looks up a localized string similar to Passed string cannot be parsed to DateTime object.. + + + + + Looks up a localized string similar to Passed string cannot be parsed to TimeSpan object.. + + + + + Looks up a localized string similar to The specified method is not an action method.. + + + + + Looks up a localized string similar to Time should be bigger than MinTime and less than MaxTime.. + + + + + Looks up a localized string similar to You cannot set Url and ContentUrl at the same time.. + + + + + Looks up a localized string similar to The value '{0}' is invalid.. + + + + + Looks up a localized string similar to The Url of the WebService must be set. + + + + + Looks up a localized string similar to You cannot add more than once column when sort mode is set to single column.. + + + + + Looks up a localized string similar to You cannot use non generic BindTo overload without EnableCustomBinding set to true. + + + + + Looks up a localized string similar to You cannot call render more than once.. + + + + + Looks up a localized string similar to You cannot call Start more than once.. + + + + + Looks up a localized string similar to You cannot configure a shared web asset group.. + + + + + Looks up a localized string similar to You must have to call Start prior calling this method.. + + + + + Initializes a new instance of the class. + + The default path. + + + + Finds the group with the specified name. + + The name. + + + + + Finds the item with the specified source. + + The source. + + + + + Adds the specified source as . + + The item source. + + + + Adds the specified source as in the specified . + + Name of the group. + The item source. + + + + Inserts the specified source as at the specified index. + + The index. + The item source. + + + + Inserts the specified source as at the specified index in the specified . + + The index. + Name of the group. + The item source. + + + + Inserts an element into the at the specified index. + + The zero-based index at which should be inserted. + The object to insert. The value can be null for reference types. + + is less than zero. + -or- + is greater than . + + + + + Replaces the element at the specified index. + + The zero-based index of the element to replace. + The new value for the element at the specified index. The value can be null for reference types. + + is less than zero. + -or- + is greater than . + + + + + Gets or sets the default path. + + The default path. + + + + Gets the asset groups. + + The asset groups. + + + + Gets the asset items. + + The asset items. + + + + Defines the fluent interface for configuring web assets. + + + + + Initializes a new instance of the class. + + Type of the asset. + The assets. + + + + Performs an implicit conversion from to . + + The builder. + The result of the conversion. + + + + Returns the internal collection. + + + + + + Adds a new web asset + + The source. + + + <%= Html.Telerik().ScriptRegistrar() + .Scripts(scripts => scripts.Add("script1.js")) + %> + + + + + + Adds a new web asset group. + + The name. + The configure action. + + + <%= Html.Telerik().ScriptRegistrar() + .Scripts(scripts => scripts.AddGroup("Group1", group => + { + group.Add("script1.js"); + } + )) + %> + + + + + + Adds the specified shared group. + + The name. + + + <%= Html.Telerik().ScriptRegistrar() + .Scripts(scripts => scripts.AddShareGroup("SharedGroup1")) + %> + + + + + + Executes the provided delegate that is used to configure the group fluently. + + The name. + The configure action. + + + + Initializes a new instance of the class. + + The name. + if set to true [is shared]. + + + + Gets or sets the name. + + The name. + + + + Gets or sets a value indicating whether this instance is shared. + + true if this instance is shared; otherwise, false. + + + + Gets or sets the default path. + + The default path. + + + + Gets or sets a value indicating whether Telerik content delivery network would be used. + + + true if [use Telerik content delivery network]; otherwise, false. + + + + + Gets or sets the content delivery network URL. + + The content delivery network URL. + + + + Gets or sets a value indicating whether this is disabled. + + true if disabled; otherwise, false. + + + + Gets or sets the version. + + The version. + + + + Gets or sets a value indicating whether this is compress. + + true if compress; otherwise, false. + + + + Gets or sets the cache duration in days. + + The cache duration in days. + + + + Gets or sets a value indicating whether this is combined. + + true if combined; otherwise, false. + + + + Gets the items. + + The items. + + + + Class used to build initialization script of jQuery plugin. + + + + + Initializes a new instance of the class. + + The id. + The type. + The text writer. + + + + Starts writing this instance. + + + + + + Appends the specified key value pair to the end of this instance. + + The key value pair. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and nullable value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + The default value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + if set to true [value]. + + + + + Appends the specified name and value to the end of this instance. + + The name. + if set to true [value]. + if set to true [default value]. + + + + + Appends the specified name and only the date of the passed . + + The name. + The value. + + + + + Appends the specified name and only the date of the passed . + + The name. + The value. + + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The action. + + + + + Appends the specified name and value to the end of this instance. + + The name. + The action. + + + + + Appends the specified name and value to the end of this instance. + + The type of the enum. + The name. + The value. + + + + + Appends the specified name and value to the end of this instance. + + The type of the enum. + The name. + The value. + The default value. + + + + + + Completes this instance. + + + + + Defines members that a class must implement in order to provide helper methods for resolving relative path. + + + + + Returns the relative path for the specified virtual path. + + The URL. + + + + + HTMLHelper extension for providing access to . + + + + + Gets the Telerik View Component Factory + + The helper. + The Factory + + + + Gets the Telerik View Component Factory + + The helper. + The Factory + + + + Container of scriptable component. + + + + + Registers the specified component. + + The component. + + + + Defines members that a class must implement in order to act as wrapper for script, + + + + + Gets the on page load start. + + The on page load start. + + + + Gets the on page load end. + + The on page load end. + + + + Gets the on page unload start. + + The on page unload start. + + + + Gets the on page unload end. + + The on page unload end. + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The style sheet registrar. + + + + Performs an implicit conversion from to . + + The builder. + The result of the conversion. + + + + Returns the internal style sheet registrar. + + + + + + Sets the asset handler path. Path must be a virtual path. + + The value. + + + <%= Html.Telerik().StyleSheetRegistrar() + .AssetHandlerPath("~/asset.axd") + %> + + + + + + Configures the . + + The configure action. + + + <%= Html.Telerik().StyleSheetRegistrar() + .DefaultGroup(group => group + .Add("style1.css") + .Add("style2.css") + .Combined(true) + ) + %> + + + + + + Executes the provided delegate that is used to register the stylesheet files fluently. + + The configure action. + + + + + Renders the + + + + <% Html.Telerik().StyleSheetRegistrar() + .Render(); + %> + + + + + + Manages ASP.NET MVC views style sheet files. + + + + + Used to ensure that the same instance is used for the same HttpContext. + + + + + Initializes a new instance of the class. + + The style sheets. + The view context. + The asset merger. + + + + Writes the stylesheets in the response. + + + + + Writes all stylesheet source. + + The writer. + + + + Gets or sets the asset handler path. Path must be a virtual path. The default value is set to WebAssetHttpHandler.DefaultPath. + + The asset handler path. + + + + Gets or sets the default group. + + The default group. + + + + Gets the stylesheets that will be rendered in the view. + + The style sheets. + + + + Gets or sets the view context. + + The view context. + + + + Class used to resolve relative path for virtual path. + + + + + Returns the relative path for the specified virtual path. + + The URL. + + + + + Wrap the script for the jQuery ready/unload events. + + + + + Gets the on page load start. + + The on page load start. + + + + Gets the on page load end. + + The on page load end. + + + + Gets the on page unload start. + + The on page unload start. + + + + Gets the on page unload end. + + The on page unload end. + + + + Defines the fluent interface for configuring the . + + + + + Initializes a new instance of the class. + + The asset item group. + + + + Performs an implicit conversion from to . + + The builder. + The result of the conversion. + + + + Returns the internal group. + + + + + + Sets whether Telerik content delivery network would be used. + + if set to true [value]. + + + + + Sets the content delivery network URL. + + The value. + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group.ContentDeliveryNetworkUrl("http://www.example.com")) + %> + + + + + + Enables or disables the group + + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group.Enabled((bool)ViewData["enabled"])) + %> + + + + + + Sets the version. + + The value. + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group.Version("1.1")) + %> + + + + + + Sets whether the groups will be served as compressed. By default asset groups are not compressed. + + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group.Compress(true)) + %> + + + + + + Sets the caches the duration of this group. + + The value. + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group.CacheDurationInDays(365)) + %> + + + + + + Sets whether the groups items will be served as combined. + + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group.Combined(true)) + %> + + + + + + Sets the defaults path of the containing . + + The path. + + + + + Adds the specified source as . + + The value. + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group.Add("script1.js")) + %> + + + + + + Manages ASP.NET MVC javascript files and statements. + + + + + Used to ensure that the same instance is used for the same HttpContext. + + + + + Initializes a new instance of the class. + + The scripts. + The scriptable components. + The view context. + The asset merger. + The script wrapper. + + + + Registers the scriptable component. + + The component. + + + + Writes the scripts in the response. + + + + + Writes all script source and script statements. + + The writer. + + + + Gets the framework script file names. + + The framework script file names. + + + + Gets or sets a value indicating whether [exclude framework scripts]. + + + true if [exclude framework scripts]; otherwise, false. + + + + + Gets or sets the asset handler path. Path must be a virtual path. The default value is set to . + + The asset handler path. + + + + Gets the default script group. + + The default group. + + + + Gets or sets a value indicating whether [enable globalization]. + + true if [enable globalization]; otherwise, false. + + + + Gets the scripts that will be rendered in the view. + + The scripts. + + + + Gets the on document ready actions. + + The on page load actions. + + + + Gets the on document ready statements that is used in RenderAction. + + The on page load actions. + + + + Gets the on window unload actions. + + The on page unload actions. + + + + Gets the on window unload statements.that is used in RenderAction. + + The on page load actions. + + + + Gets the view context. + + The view context. + + + + Gets the script wrapper that is used to write the script statements. + + The script wrapper. + + + + Defines the fluent interface for configuring the component. + + + + + Initializes a new instance of the class. + + The script registrar. + + + + Performs an implicit conversion from to . + + The builder. + The result of the conversion. + + + + Returns the internal script registrar. + + + + + + Sets the asset handler path. Path must be a virtual path. + + The value. + + + <%= Html.Telerik().ScriptRegistrar() + .AssetHandlerPath("~/asset.axd") + %> + + + + + + Configures the . + + The configure action. + + + <%= Html.Telerik().ScriptRegistrar() + .DefaultGroup(group => group + .Add("script1.js") + .Add("script2.js") + .Combined(true) + ) + %> + + + + + + Enables globalization support. + + if set to true [enable]. + + + <%= Html.Telerik().ScriptRegistrar() + .Globalization(true) + %> + + + + + + Includes the jQuery script files. By default jQuery JavaScript is included. + + + Telerik Extensions for ASP.NET MVC require jQuery so make sure you manually include the JavaScrip file + if you disable the automatic including. + + if set to true [enable]. + + + <%= Html.Telerik().ScriptRegistrar() + .jQuery(false) + %> + + + + + + Executes the provided delegate that is used to register the script files fluently in different groups. + + The configure action. + + + + + Defines the inline handler executed when the DOM document is ready (using the $(document).ready jQuery event) + + The action defining the inline handler + + + <% Html.Telerik().ScriptRegistrar() + .OnDocumentReady(() => + { + %> + function() { + alert("Document is ready"); + } + <% + }) + .Render(); + %> + + + + + + Defines the inline handler executed when the DOM document is ready (using the $(document).ready jQuery event) + + The code of the inline handler wrapped in a text tag (Razor syntax) + + + @(Html.Telerik().ScriptRegistrar() + .OnDocumentReady( + @<text> + alert("Document is ready"); + </text> + }) + ) + + + + + + Appends the specified statement in $(document).ready jQuery event. This method should be + used in Html.RenderAction(). + + The statements. + + + + + Defines the inline handler executed when the DOM window object is unloaded. + + The action defining the inline handler + + + <% Html.Telerik().ScriptRegistrar() + .OnWindowUnload(() => + { + %> + function() { + // event handler code + } + <% + }) + .Render(); + %> + + + + + + Appends the specified statement window unload event. This method should be + used in Html.RenderAction(). + + The statements. + + + + + Renders the + + + + <% Html.Telerik().ScriptRegistrar() + .Render(); + %> + + + + + + Web asset types. + + + + + None, used for internal purpose. + + + + + Stylesheet + + + + + Javascript + + + + diff --git a/CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg b/CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg new file mode 100644 index 0000000..6c2337e Binary files /dev/null and b/CharityPortal/packages/EntityFramework.4.1.10331.0/EntityFramework.4.1.10331.0.nupkg differ diff --git a/CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.dll b/CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.dll new file mode 100644 index 0000000..cbb615d Binary files /dev/null and b/CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.dll differ diff --git a/CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.xml b/CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.xml new file mode 100644 index 0000000..3a9b301 --- /dev/null +++ b/CharityPortal/packages/EntityFramework.4.1.10331.0/lib/EntityFramework.xml @@ -0,0 +1,13206 @@ + + + + EntityFramework + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "The '{0}' property of EdmPrimitiveType is fixed and cannot be set." + + + + + A string like "The namespace '{0}' is a system namespace and cannot be used by other schemas. Choose another namespace name." + + + + + A string like "Role '{0}' in AssociationSets ‘{1}’ and ‘{2}’ refers to the same EntitySet '{3}' in EntityContainer '{4}'. Make sure that if two or more AssociationSets refer to the same AssociationType, the ends do not refer to the same EntitySet." + + + + + A string like "The referenced EntitySet ‘{0}’ for End ‘{1}’ could not be found in the containing EntityContainer." + + + + + A string like "Type '{0}' is derived from type '{1}' that is the type for EntitySet '{2}'. Type '{0}' defines new concurrency requirements that are not allowed for subtypes of base EntitySet types." + + + + + A string like "EntitySet ‘{0}’ is based on type ‘{1}’ that has no keys defined." + + + + + A string like "The end name ‘{0}’ is already defined." + + + + + A string like "The key specified in EntityType '{0}' is not valid. Property '{1}' is referenced more than once in the Key element." + + + + + A string like "Property '{0}' has a CollectionKind specified but is not a collection property." + + + + + A string like "Property '{0}' has a CollectionKind specified. CollectionKind is only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' is marked as abstract. Abstract ComplexTypes are only supported in version 1.1 EDM models." + + + + + A string like "ComplexType '{0}' has a BaseType specified. ComplexType inheritance is only supported in version 1.1 EDM models." + + + + + A string like "Key part '{0}' for type ‘{1}’ is not valid. All parts of the key must be non-nullable." + + + + + A string like "The property '{0}' in EntityType '{1}' is not valid. All properties that are part of the EntityKey must be of PrimitiveType." + + + + + A string like "Key usage is not valid. The {0} class cannot define keys because one of its base classes (‘{1}’) defines keys." + + + + + A string like "EntityType '{0}' has no key defined. Define the key for this EntityType." + + + + + A string like "NavigationProperty is not valid. Role ‘{0}’ or Role ‘{1}’ is not defined in Relationship ‘{2}’." + + + + + A string like "End '{0}' on relationship '{1}' cannot have an operation specified because its multiplicity is '*'. Operations cannot be specified on ends with multiplicity '*'." + + + + + A string like "Each Name and PluralName in a relationship must be unique. '{0}' is already defined." + + + + + A string like "In relationship '{0}', the Principal and Dependent Role of the referential constraint refer to the same Role in the relationship type." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Valid values for multiplicity for the Principal Role are '0..1' or '1'." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because all the properties in the Dependent Role are nullable, multiplicity of the Principal Role must be '0..1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because at least one of the properties in the Dependent Role is non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Multiplicity conflicts with the referential constraint in Role '{0}' in relationship '{1}'. Because all of the properties in the Dependent Role are non-nullable, multiplicity of the Principal Role must be '1'." + + + + + A string like "Properties referred by the Dependent Role ‘{0}’ must be a subset of the key of the EntityType ‘{1}’ referred to by the Dependent Role in the referential constraint for relationship ‘{2}’." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role refers to the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘1’." + + + + + A string like "Multiplicity is not valid in Role '{0}' in relationship '{1}'. Because the Dependent Role properties are not the key properties, the upper bound of the multiplicity of the Dependent Role must be ‘*’." + + + + + A string like "The types of all properties in the Dependent Role of a referential constraint must be the same as the corresponding property types in the Principal Role. The type of property '{0}' on entity '{1}' does not match the type of property '{2}' on entity '{3}' in the referential constraint '{4}'." + + + + + A string like "There is no property with name '{0}' defined in the type referred to by Role '{1}'." + + + + + A string like "A nullable ComplexType is not supported. Property '{0}' must not allow nulls." + + + + + A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType or a PrimitiveType." + + + + + A string like "Each member name in an EntityContainer must be unique. A member with name '{0}' is already defined." + + + + + A string like "Each type name in a schema must be unique. Type name '{0}' is already defined." + + + + + A string like "Name ‘{0}’ cannot be used in type ‘{1}’. Member names cannot be the same as their enclosing type." + + + + + A string like "Each property name in a type must be unique. Property name '{0}' is already defined." + + + + + A string like "A cycle was detected in the type hierarchy of '{0}'." + + + + + A string like "A property cannot be of type ‘{0}’. The property type must be a ComplexType, a PrimitiveType, or a CollectionType." + + + + + A string like "The specified name must not be longer than 480 characters: '{0}'." + + + + + A string like "The specified name is not allowed: '{0}'." + + + + + A string like "NavigationProperty is not valid. The FromRole and ToRole are the same." + + + + + A string like "OnDelete can be specified on only one End of an EdmAssociation." + + + + + A string like "The number of properties in the Dependent and Principal Roles in a relationship constraint must be identical." + + + + + A string like "The name is missing or not valid." + + + + + A string like "AssociationEnd must not be null." + + + + + A string like "DependentEnd must not be null." + + + + + A string like "DependentProperties must not be empty." + + + + + A string like "Association must not be null." + + + + + A string like "ResultEnd must not be null." + + + + + A string like "EntityType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "ElementType must not be null." + + + + + A string like "SourceSet must not be null." + + + + + A string like "TargetSet must not be null." + + + + + A string like "The type is not a valid EdmTypeReference." + + + + + A string like "Serializer can only serialize an EdmModel that has one EdmNamespace and one EdmEntityContainer." + + + + + Strongly-typed and parameterized exception factory. + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Allows the construction and modification of a user-specified annotation (name-value pair) on a instance. + + + + + INamedDataModelItem is implemented by model-specific base types for all types with a property. + + + + + + Gets or sets the currently assigned name. + + + + + Constructs a new DataModelAnnotation + + + + + Gets or sets an optional namespace that can be used to distinguish the annotation from others with the same value. + + + + + Gets or sets the name of the annotation. + + + + + Gets or sets the value of the annotation. + + + + + + + + + + DataModelEventArgs is the base argument type for all events raised by consumers of Entity Data Model (EDM) models. + + + + + Gets a value indicating the that caused the event to be raised. + + + + + Gets an optional value indicating which property of the source item caused the event to be raised. + + + + + Gets a value that identifies the specific error that is being raised. + + + + + Gets an optional descriptive message the describes the error that is being raised. + + + + + DataModelItem is the base for all types in the EDM metadata reflection, construction and modification API. + + + + + IAnnotatedDataModelItem is implemented by model-specific base types for all types with an property. + + + + + + Gets or sets the currently assigned annotations. + + + + + DbAliasedMetadataItem provides the base type for all Database Metadata types that can have an optional that should be used instead of the item's when referring to the item in the database. + + + + + NamedDbItem is the base for all types in the Database Metadata construction and modification API with a property. + + + + + The base for all all Database Metadata types that support annotation using . + + + + + DbDataModelItem is the base for all types in the Database Metadata construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets or sets the currently assigned name. + + + + + Gets an optional alternative identifier that should be used when referring to this item in the database. + + + + + When implemented in derived types, allows the construction and modification of a column in a Database Metadata table or row. + + + + + Gets or sets a string indicating the database-specific type of the column. + + + + + Gets or sets a value indicating whether the column is nullable. + + + + + Gets or sets an optional instance that applies additional constraints to the referenced database-specific type of the column. + + + + + Allows the construction and modification of a database in a Database Metadata model. + + + + + Gets or sets an optional value that indicates the database model version. + + + + + Gets or sets the collection of instances that specifies the schemas within the database. + + + + + Allows the construction and modification of a foreign key constraint sourced by a instance. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates which Database Metadata concept is represented by a given item. + + + + + Database Kind + + + + + Schema Kind + + + + + Foreign Key Constraint Kind + + + + + Function Kind + + + + + Function Parameter Kind + + + + + Function Return or Parameter Type Kind + + + + + Row Column Kind + + + + + Table Kind + + + + + Table Column Kind + + + + + Primitive Facets Kind + + + + + Specifies the action to take on a given operation. + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in a Database Metadata item. + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Allows the construction and modification of a database schema in a database model. + + + + + Gets or sets the collection of instances that specifies the tables declared within the schema. + + + + + DbSchemaMetadataItem is the base for all types that can be contained in a schema. + + + + + Allows the construction and modification of a column in a table. + + + + + Gets or sets a value indicating whether the column is part of the table's primary key. + + + + + Gets or sets a value indicating if and how the value of the column is automatically generated. + + + + + Gets or sets an optional value indicating the collation specific to this table column. + + + + + Gets or sets an optional value that specifies the default value for the column. + + + + + Allows the construction and modification a table in a database schema. + + + + + Gets or sets the collection of instances that specifies the columns present within the table. + + + + + Gets or sets the collection of instances from the collection of the table that are part of the primary key. + + + + + Gets or sets the collection of instances that defines the foreign key constraints sourced from the table. + + + + + Represents a specific use of a type in a Database Metadata item. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + Accessing this property forces the creation of a DbPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + Gets or sets a value indicating whether the represented type is a collection type. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets a value indicating whether the type has been configured as a row type by the addition of one or more RowColumns. + + + + + Represents the mapping of an EDM association end () as a collection of property mappings (). + + + + + DbMappingMetadataItem is the base for all types in the EDM-to-Database Mapping construction and modification API that support annotation using . + + + + + DbMappingModelItem is the base for all types in the EDM-to-Database Mapping construction and modification API. + + + + + Gets or sets the currently assigned annotations. + + + + + Gets an value representing the association end that is being mapped. + + + + + Gets the collection of s that specifies how the association end key properties are mapped to the table. + + + + + Gets an value representing the association set that is being mapped. + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping to apply. + + + + + Allows the construction and modification of a condition for a column in a database table. + + + + + Gets or sets a value representing the table column which must contain for this condition to hold. + + + + + Gets or sets the value that must contain for this condition to hold. + + + + + Represents the mapping of an entity property to a column in a database table. + + + + + Gets or sets the collection of instances that defines the mapped property, beginning from a property declared by the mapped entity type and optionally proceeding through properties of complex property result types. + + + + + Gets or sets a value representing the table column to which the entity property is being mapped. + + + + + Allows the construction and modification of the mapping of an EDM entity container () to a database (). + + + + + Gets or sets an value representing the entity container that is being mapped. + + + + + Gets or sets the collection of s that specifies how the container's entity sets are mapped to the database. + + + + + Gets the collection of s that specifies how the container's association sets are mapped to the database. + + + + + Allows the construction and modification of the mapping of an EDM entity set () to a database (). + + + + + Gets or sets an value representing the entity set that is being mapped. + + + + + Gets or sets the collection of s that specifies how the set's entity types are mapped to the database. + + + + + Allows the construction and modification of a complete or partial mapping of an EDM entity type () or type hierarchy to a specific database table (). + + + + + Gets or sets an value representing the entity type or hierarchy that is being mapped. + + + + + Gets or sets a value indicating whether this type mapping applies to and all its direct or indirect subtypes (true), or only to (false). + + + + + Gets a value representing the table to which the entity type's properties are being mapped. + + + + + Gets the collection of s that specifies how the type's properties are mapped to the table. + + + + + Gets the collection of s that specifies the constant or null values that columns in must have for this type mapping fragment to apply. + + + + + Indicates which EDM-to-Database Mapping concept is represented by a given item. + + + + + Database Mapping Kind + + + + + Entity Container Mapping Kind + + + + + Entity Set Mapping Kind + + + + + Association Set Mapping Kind + + + + + Entity Type Mapping Kind + + + + + Query View Mapping Kind + + + + + Entity Type Mapping Fragment Kind + + + + + Edm Property Mapping Kind + + + + + Association End Mapping Kind + + + + + Column Condition Kind + + + + + Property Condition Kind + + + + + Allows the construction and modification of a constraint applied to an Entity Data Model (EDM) association. + + + + + The base for all all Entity Data Model (EDM) types that support annotation using . + + + + + EdmDataModelItem is the base for all types in the Entity Data Model (EDM) metadata construction and modification API. + + + + + Gets an value indicating which Entity Data Model (EDM) concept is represented by this item. + + + + + Gets or sets the currently assigned annotations. + + + + + Returns all EdmItem children directly contained by this EdmItem. + + + + + Gets or sets the that represents the 'dependent' end of the constraint; properties from this association end's entity type contribute to the collection. + + + + + Gets or sets the collection of instances from the of the constraint. The values of these properties are constrained against the primary key values of the remaining, 'principal' association end's entity type. + + + + + Allows the construction and modification of one end of an Entity Data Model (EDM) association. + + + + + EdmStructuralMember is the base for all types that represent members of structural items in the Entity Data Model (EDM) metadata construction and modification API. + + + + + The base for all all Entity Data Model (EDM) item types that with a property. + + + + + Gets or sets the currently assigned name. + + + + + Gets or sets the entity type referenced by this association end. + + + + + Gets or sets the of this association end, which indicates the multiplicity of the end and whether or not it is required. + + + + + Gets or sets the to take when a delete operation is attempted. + + + + + Indicates the multiplicity of an and whether or not it is required. + + + + + Allows the construction and modification of an association set in an Entity Data Model (EDM) ). + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the association type for the set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + Gets or sets the that specifies the entity set corresponding to the association end for this association set. + + + + + + The base for all all Entity Data Model (EDM) types that represent a structured type from the EDM type system. + + + + + The base for all all Entity Data Model (EDM) types that represent a type from the EDM type system. + + + + + Represents an item in an Entity Data Model (EDM) . + + + + + The base for all all Entity Data Model (EDM) item types that with a Name property + that represents a qualified (can be dotted) name. + + + + + Gets a value indicating whether this type is abstract. + + + + + Gets the optional base type of this type. + + + + + Gets or sets the that defines the source end of the association. + + + + + Gets or sets the that defines the target end of the association. + + + + + Gets or sets the optional constraint that indicates whether the relationship is an independent association (no constraint present) or a foreign key relationship ( specified). + + + + + Collection semantics for properties. + + + + + The property does not have a collection type or does not specify explicit collection semantics. + + + + + The property is an unordered collection that may contain duplicates. + + + + + The property is an ordered collection that may contain duplicates. + + + + + Allows the construction and modification of a complex type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base complex type of the complex type. + + + + + Gets or sets a value indicating whether the complex type is abstract. + + + + + Gets or sets the collection of instances that describe the (scalar or complex) properties of the complex type. + + + + + Concurrency mode for properties. + + + + + Default concurrency mode: the property is never validated + at write time + + + + + Fixed concurrency mode: the property is always validated at + write time + + + + + Allows the construction and modification of an entity container in an Entity Data Model (EDM) . + + + + + Gets all s declared within the namspace. Includes s and s. + + + + + Gets or sets the collection of s that specifies the association sets within the container. + + + + + Gets or sets the collection of s that specifies the entity sets within the container. + + + + + Allows the construction and modification of an entity set in an Entity Data Model (EDM) . + + + + + Gets or sets the that specifies the entity type for the set. + + + + + Allows the construction and modification of an entity type in an Entity Data Model (EDM) . + + + + + Gets or sets the optional that indicates the base entity type of the entity type. + + + + + Gets or sets a value indicating whether the entity type is abstract. + + + + + Gets or sets the collection of s that specifies the properties declared by the entity type. + + + + + Gets or sets the collection of s that indicates which properties from the collection are part of the entity key. + + + + + Gets or sets the optional collection of s that specifies the navigation properties declared by the entity type. + + + + + Indicates which Entity Data Model (EDM) concept is represented by a given item. + + + + + Association End Kind + + + + + Association Set Kind + + + + + Association Type Kind + + + + + Collection Type Kind + + + + + Complex Type Kind + + + + + Entity Container Kind + + + + + Entity Set Kind + + + + + Entity Type Kind + + + + + Function Group Kind + + + + + Function Overload Kind + + + + + Function Import Kind + + + + + Function Parameter Kind + + + + + Navigation Property Kind + + + + + EdmProperty Type Kind + + + + + Association Constraint Type Kind + + + + + Ref Type Kind + + + + + Row Column Kind + + + + + Row Type Kind + + + + + Type Reference Kind + + + + + Model Kind + + + + + Namespace Kind + + + + + Primitive Facets Kind + + + + + Primitive Type Kind + + + + + EdmModel is the top-level container for namespaces and entity containers belonging to the same logical Entity Data Model (EDM) model. + + + + + Gets or sets an optional value that indicates the entity model version. + + + + + Gets or sets the containers declared within the model. + + + + + Gets or sets the namespaces declared within the model. + + + + + Allows the construction and modification of a namespace in an . + + + + + Gets all s declared within the namspace. Includes s, s, s. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Gets or sets the s declared within the namespace. + + + + + Allows the construction and modification of an Entity Data Model (EDM) navigation property. + + + + + Gets or sets the that specifies the association over which navigation takes place. + + + + + Gets or sets the that specifies which association end is the 'destination' end of the navigation and produces the navigation property result. + + + + + Specifies the action to take on a given operation. + + + + + + Default behavior + + + + + Restrict the operation + + + + + Cascade the operation + + + + + Represents one of the fixed set of Entity Data Model (EDM) primitive types. + + + + + The base for all all Entity Data Model (EDM) types that represent a scalar type from the EDM type system. + + + + + Retrieves the EdmPrimitiveType instance with the corresponding to the specified value, if any. + + The name of the primitive type instance to retrieve + The EdmPrimitiveType with the specified name, if successful; otherwise null. + true if the given name corresponds to an EDM primitive type name; otherwise false. + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets the EdmPrimitiveType instance that represents the primitive type. + + + + + Gets an value that indicates which Entity Data Model (EDM) primitive type this type represents. + + + + + Allows the construction and modification of additional constraints that can be applied to a specific use of a primitive type in an Entity Data Model (EDM) item. See . + + + + + Returns true if any facet value property currently has a non-null value; otherwise returns false. + + + + + Gets or sets an optional value indicating the current constraint on the type's maximum length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have its intrinsic maximum length, rather than a specific value. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to have a fixed or variable length. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered to be Unicode or non-Unicode. + + + + + Gets or sets an optional value indicating the current constraint on the type's precision. + + + + + Gets or sets an optional value indicating the current constraint on the type's scale. + + + + + Primitive Types as defined by the Entity Data Model (EDM). + + + + + Binary Type Kind + + + + + Boolean Type Kind + + + + + Byte Type Kind + + + + + DateTime Type Kind + + + + + Decimal Type Kind + + + + + Double Type Kind + + + + + Guid Type Kind + + + + + Single Type Kind + + + + + SByte Type Kind + + + + + Int16 Type Kind + + + + + Int32 Type Kind + + + + + Int64 Type Kind + + + + + String Type Kind + + + + + Time Type Kind + + + + + DateTimeOffset Type Kind + + + + + Allows the construction and modification of a primitive- or complex-valued property of an Entity Data Model (EDM) entity or complex type. + + + + + Gets or sets an value that indicates which collection semantics - if any - apply to the property. + + + + + Gets or sets a value that indicates whether the property is used for concurrency validation. + + + + + Gets or sets on optional value that indicates an initial default value for the property. + + + + + Gets or sets an that specifies the result type of the property. + + + + + Enumerates all s declared or inherited by an . + + + + + Allows the construction and modification of a specific use of a type in an Entity Data Model (EDM) item. See for examples. + + + + + Gets or sets a value indicating the collection rank of the type reference. A collection rank greater than zero indicates that the type reference represents a collection of its referenced . + + + + + Gets or sets a value indicating the referenced by this type reference. + + + + + Gets or sets an optional value indicating whether the referenced type should be considered nullable. + + + + + Gets or sets an optional instance that applies additional constraints to a referenced primitive type. + + Accessing this property forces the creation of an EdmPrimitiveTypeFacets value if no value has previously been set. Use to determine whether or not this property currently has a value. + + + + Gets a value indicating whether the property of this type reference has been assigned an value with at least one facet value specified. + + + + + Indicates whether this type reference represents a collection of its referenced (when is greater than zero) or not. + + + + + Indicates whether the property of this type reference currently refers to an , is not a collection type, and does not have primitive facet values specified. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a complex type. + + + + + Indicates whether the property of this type reference currently refers to an and is not a collection type. + + + + + Gets the currently referred to by this type reference, or null if the type reference is a collection type or does not refer to a primitive type. + + + + + Contains constant values that apply to the EDM model, regardless of source (for CSDL specific constants see ). + + + + + Parsing code taken from System.dll's System.CodeDom.Compiler.CodeGenerator.IsValidLanguageIndependentIdentifier(string) + method to avoid LinkDemand needed to call this method + + + + + + + + + + + + Constants for CSDL XML. + + + + + Constants for C-S MSL XML. + + + + + Constants for SSDL XML. + + + + + The acceptable range for this enum is 0000 - 0999; the range 10,000-15,000 is reserved for tools. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Precision out of range + + + Scale out of range + + + + + + + + + One of the required facets is missing + + + + + + + + + + + + + + + + + + + + + + + + + The facet isn't allow by the property type. + + + + + This facet value is constant and is specified in the schema + + + + + + + + + + Multiplicity value was malformed + + + The value for the Action attribute is invalid or not allowed in the current context + + + An error occurred processing the On<Operation> elements + + + Ends were given for the Property element of a EntityContainer that is not a RelationshipSet + + + The extent name used in the EntittyContainerType End does not match the name of any of the EntityContainerProperties in the containing EntityContainer + + + An end element was not given, and cannot be inferred because too many EntityContainerEntitySet elements that are good possibilities. + + + An end element was not given, and cannot be inferred because there is no EntityContainerEntitySets that are the correct type to be used as an EntitySet. + + + Not a valid parameter direction for the parameter in a function + + + Unable to infer an optional schema part, to resolve this; be more explicit + + + Invalid facet attribute(s) specified in provider manifest + + + Invalid role value in the relationship constraint + + + Invalid Property in relationship constraint + + + Type mismatch between ToProperty and FromProperty in the relationship constraint + + + Invalid multiplicity in FromRole in the relationship constraint + + + The number of properties in the FromProperty and ToProperty in the relationship constraint must be identical + + + No Properties defined in either FromProperty or ToProperty in the relationship constraint + + + Missing constraint in relationship type in ssdl + + + Same role referred in the ToRole and FromRole of a referential constraint + + + Invalid value for attribute ParameterTypeSemantics + + + Invalid type used for a Relationship End Type + + + Invalid PrimitiveTypeKind + + + Invalid TypeConversion DestinationType + + + Expected a integer value between 0 - 255 + + + Invalid Type specified in function + + + Precision must not be greater than 28 + + + Properties that are part of entity key must be of scalar type + + + Binary type properties which are part of entity key are currently not supported + + + The primitive type kind does not have a preferred mapping + + + More than one PreferredMapping for a PrimitiveTypeKind + + + End with * multiplicity cannot have operations specified + + + EntitySet type has no keys + + + InvalidNumberOfParametersForAggregateFunction + + + InvalidParameterTypeForAggregateFunction + + + Composable functions must declare a return type. + + + Non-composable functions must not declare a return type. + + + Non-composable functions do not permit the aggregate; niladic; or built-in attributes. + + + Composable functions can not include command text attribute. + + + Functions should not declare both a store name and command text (only one or the other + can be used). + + + SystemNamespace + + + Empty DefiningQuery text + + + Schema, Table and DefiningQuery are all specified, and are mutually exclusive + + + ConcurrencyMode value was malformed + + + Concurrency can't change for any sub types of an EntitySet type. + + + Function import return type must be either empty, a collection of entities, or a singleton scalar. + + + Function import specifies a non-existent entity set. + + + Function import specifies entity type return but no entity set. + + + Function import specifies entity type that does not derive from element type of entity set. + + + Function import specifies a binding to an entity set but does not return entities. + + + InternalError + + + Same Entity Set Taking part in the same role of the relationship set in two different relationship sets + + + Entity key refers to the same property twice + + + Function declares a ReturnType attribute and element + + + Nullable Complex Type not supported in Edm V1 + + + Only Complex Collections supported in Edm V1.1 + + + No Key defined on Entity Type + + + Invalid namespace specified in using element + + + Need not specify system namespace in using + + + Cannot use a reserved/system namespace as alias + + + Invalid qualification specified for type + + + Invalid Entity Container Name in extends attribute + + + Invalid CollectionKind value in property CollectionKind attribute + + + Must specify namespace or alias of the schema in which this type is defined + + + Entity Container cannot extend itself + + + Failed to retrieve provider manifest + + + Mismatched Provider Manifest token values in SSDL artifacts + + + Missing Provider Manifest token value in SSDL artifact(s) + + + Empty CommandText element + + + Inconsistent Provider values in SSDL artifacts + + + Inconsistent Provider Manifest token values in SSDL artifacts + + + Duplicated Function overloads + + + InvalidProvider + + + FunctionWithNonEdmTypeNotSupported + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + ComplexTypeAsReturnTypeAndDefinedEntitySet + + + unused 179, + unused 180, + unused 181, + In model functions facet attribute is allowed only on ScalarTypes + + + Captures several conditions where facets are placed on element where it should not exist. + + + Return type has not been declared + + + Invalid value in the EnumTypeOption + + + The structural annotation cannot use codegen namespaces + + + Function and type cannot have the same fully qualified name + + + Cannot load different version of schema in the same ItemCollection + + + Expected bool value + + + End without Multiplicity specified + + + In SSDL, if composable function returns a collection of rows (TVF), all row properties must be of scalar types. + + + The name of NamedEdmItem must not be empty or white space only + + + EdmTypeReference is empty + Unused 199; + + + + Serializes an that conforms to the restrictions of a single CSDL schema file to an XML writer. + The model to be serialized must contain a single and a single . + + + + + The CSDL Serializer for the EdmModel. + + + + + Serialize the to the XmlWriter. + + The EdmModel to serialize, mut have only one and one + The XmlWriter to serialize to + + + + MSL Serializer for DbModel + + + + + Serialize the to the XmlWriter + + The DbModel to serialize + The XmlWriter to serialize to + + + + SSDL Serializer for DbDatabaseMetadata + + + + + Serialize the to the + + The DbDatabaseMetadata to serialize + Provider information on the Schema element + ProviderManifestToken information on the Schema element + The XmlWriter to serialize to + + + + author/email + + + author/name + + + author/uri + + + published + + + rights + + + summary + + + title + + + contributor/email + + + contributor/name + + + contributor/uri + + + category/@label + + + Plaintext + + + HTML + + + XHTML + + + updated + + + link/@href + + + link/@rel + + + link/@type + + + link/@hreflang + + + link/@title + + + link/@length + + + category/@term + + + category/@scheme + + + + Return role name pair + + + + + + + + The context for DataModel Validation + + + + + Returns true if the given two ends are similar - the relationship type that this ends belongs to is the same + and the entity set refered by the ends are same and they are from the same role + + + + + + + + Return true if the Referential Constraint on the association is ready for further validation, otherwise return false. + + + + + + + Resolves the given property names to the property in the item + Also checks whether the properties form the key for the given type and whether all the properties are nullable or not + + + + + + + + + + + Return true if the namespaceName is a Edm System Namespace + + + + + + + Return true if the entityType is a subtype of any entity type in the dictionary keys, + and return the corresponding entry EntitySet value. Otherwise return false. + + + + + + + + + Return true if any of the properties in the EdmEntityType defines ConcurrencyMode. Otherwise return false. + + + + + + + Add member name to the Hash set, raise an error if the name exists already. + + + + + + + + + If the string is null, empty, or only whitespace, return false, otherwise return true + + + + + + + Determine if a cycle exists in the type hierarchy: use two pointers to + walk the chain, if one catches up with the other, we have a cycle. + + true if a cycle exists in the type hierarchy, false otherwise + + + + RuleSet for DataModel Validation + + + + + Get the related rules given certain DataModelItem + + The to validate + A collection of + + + + Data Model Validator + + + + + Validate the and all of its properties given certain version. + + The root of the model to be validated + True to validate the syntax, otherwise false + + + + The RuleSet for EdmModel + + + + + Get based on version + + a double value of version + + + + + The context for EdmModel Validation + + + + + Visitor for EdmModel Validation + + + + + Edm Model Validator + + + + + validate the from the root with the context + + The root to validate from + The validation context + + + + Strongly-typed and parameterized string resources. + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "The argument property '{0}' cannot be null." + + + + + A string like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + A string like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + A string like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + A string like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + A string like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + A string like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + A string like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + A string like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + A string like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + A string like "{0} = {1} conflicts with {2} = {3}" + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + A string like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + A string like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + A string like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + A string like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + A string like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + A string like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + A string like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + A string like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + A string like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + A string like "\t{0}: {1}: {2}" + + + + + A string like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + A string like "The {0} value '{1}' already exists in the user-defined dictionary." + + + + + A string like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + A string like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + A string like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + A string like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + A string like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + A string like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + A string like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + A string like "Unable to determine the provider name for connection of type '{0}'." + + + + + A string like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + A string like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + A string like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + A string like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + A string like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model." + + + + + A string like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + A string like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + A string like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + A string like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + A string like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + A string like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + A string like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + A string like "One or more validation errors were detected during model generation:" + + + + + A string like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + Strongly-typed and parameterized exception factory. + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + ArgumentException with message like "The argument property '{0}' cannot be null." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as a complex type. It cannot be reconfigured as an entity type." + + + + + InvalidOperationException with message like "The type '{0}' has already been configured as an entity type. It cannot be reconfigured as a complex type." + + + + + InvalidOperationException with message like "The key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The foreign key component '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid primitive property." + + + + + InvalidOperationException with message like "The property '{0}' is not a declared property on type '{1}'. Verify that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation. Make sure that it is a valid primitive property." + + + + + InvalidOperationException with message like "The navigation property '{0}' is not a declared property on type '{1}'. Verify that it has not been explicitly excluded from the model and that it is a valid navigation property." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'." + + + + + InvalidOperationException with message like "The expression '{0}' is not a valid property expression. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. Use dotted paths for nested properties: C#: 't => t.MyProperty.MyProperty' VB.Net: 'Function(t) t.MyProperty.MyProperty'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + InvalidOperationException with message like "The properties expression '{0}' is not valid. The expression should represent a property: C#: 't => t.MyProperty' VB.Net: 'Function(t) t.MyProperty'. When specifying multiple properties use an anonymous type: C#: 't => new {{ t.MyProperty1, t.MyProperty2 }}' VB.Net: 'Function(t) New From {{ t.MyProperty1, t.MyProperty2 }}'." + + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for property '{0}' on type '{1}': {2}" + + + + + InvalidOperationException with message like "Conflicting configuration settings were specified for column '{0}' on table '{1}': {2}" + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from ComplexObject." + + + + + InvalidOperationException with message like "The type '{0}' was not mapped. Check that the type has not been explicitly excluded by using the Ignore method or NotMappedAttribute data annotation. Verify that the type was defined as a class, is not primitive, nested or generic, and does not inherit from EntityObject." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' cannot be the inverse of itself." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting foreign keys." + + + + + MappingException with message like "Values of incompatible types ('{1}' and '{2}') were assigned to the '{0}' discriminator column. Values of the same type must be specified. To explicitly specify the type of the discriminator column use the HasColumnType method." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting mapping information." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting cascade delete operations using 'WillCascadeOnDelete'." + + + + + InvalidOperationException with message like "The navigation property '{0}' declared on type '{1}' has been configured with conflicting multiplicities." + + + + + InvalidOperationException with message like "The MaxLengthAttribute on property '{0}' on type '{1} is not valid. The Length value must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "The StringLengthAttribute on property '{0}' on type '{1}' is not valid. The maximum length must be greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "Unable to determine composite primary key ordering for type '{0}'. Use the ColumnAttribute or the HasKey method to specify an order for composite primary keys." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. Name must not be empty." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The foreign key name '{2}' was not found on the dependent type '{3}'. The Name value should be a comma separated list of foreign key property names." + + + + + InvalidOperationException with message like "The ForeignKeyAttribute on property '{0}' on type '{1}' is not valid. The navigation property '{2}' was not found on the dependent type '{1}'. The Name value should be a valid navigation property name." + + + + + InvalidOperationException with message like "Unable to determine a composite foreign key ordering for foreign key on type {0}. When using the ForeignKey data annotation on composite foreign key properties ensure order is specified by using the Column data annotation or the fluent API." + + + + + InvalidOperationException with message like "The InversePropertyAttribute on property '{2}' on type '{3}' is not valid. The property '{0}' is not a valid navigation property on the related type '{1}'. Ensure that the property exists and is a valid reference or collection navigation property." + + + + + InvalidOperationException with message like "A relationship cannot be established from property '{0}' on type '{1}' to property '{0}' on type '{1}'. Check the values in the InversePropertyAttribute to ensure relationship definitions are unique and reference from one navigation property to its corresponding inverse navigation property." + + + + + InvalidOperationException with message like "A key is registered for the derived type '{0}'. Keys can only be registered for the root type '{1}'." + + + + + InvalidOperationException with message like "The type '{0}' has already been mapped to table '{1}'. Specify all mapping aspects of a table in a single Map call." + + + + + InvalidOperationException with message like "Map was called more than once for type '{0}' and at least one of the calls didn't specify the target table name." + + + + + InvalidOperationException with message like "The derived type '{0}' has already been mapped using the chaining syntax. A derived type can only be mapped once using the chaining syntax." + + + + + InvalidOperationException with message like "An "is not null" condition cannot be specified on property '{0}' on type '{1}' because this property is not included in the model. Check that the property has not been explicitly excluded from the model by using the Ignore method or NotMappedAttribute data annotation." + + + + + ArgumentException with message like "Values of type '{0}' cannot be used as type discriminator values. Supported types include byte, signed byte, bool, int16, int32, int64, and string." + + + + + InvalidOperationException with message like "Unable to add the convention '{0}'. Could not find an existing convention of type '{1}' in the current convention set." + + + + + InvalidOperationException with message like "Not all properties for type '{0}' have been mapped. Either map those properties or explicitly excluded them from the model." + + + + + NotSupportedException with message like "Unable to determine the provider name for connection of type '{0}'." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid schema name. Schema names must have a non-zero length." + + + + + ArgumentException with message like "The qualified table name '{0}' contains an invalid table name. Table names must have a non-zero length." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the MapInheritedProperties method is only used during one call to the Map method." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. Ensure the Properties method is used and that repeated calls specify each non-key property only once." + + + + + InvalidOperationException with message like "Properties for type '{0}' can only be mapped once. The non-key property '{1}' is mapped more than once. Ensure the Properties method specifies each non-key property only once." + + + + + InvalidOperationException with message like "The property '{1}' on type '{0}' cannot be mapped because it has been explicitly excluded from the model." + + + + + InvalidOperationException with message like "The entity types '{0}' and '{1}' cannot share table '{2}' because they are not in the same type hierarchy or do not have a valid one to one foreign key relationship with matching primary keys between them." + + + + + InvalidOperationException with message like "The property '{0}' cannot be used as a key property on the entity '{1}' because the property type is not a valid key type. Only scalar types, string and byte[] are supported key types." + + + + + InvalidOperationException with message like "The specified table '{0}' was not found in the model. Ensure that the table name has been correctly specified." + + + + + InvalidOperationException with message like "The specified association foreign key columns '{0}' are invalid. The number of columns specified must match the number of primary key columns." + + + + + InvalidOperationException with message like "A circular ComplexType hierarchy was detected. Self-referencing ComplexTypes are not supported." + + + + + InvalidOperationException with message like "Unable to determine the principal end of an association between the types '{0}' and '{1}'. The principal end of this association must be explicitly configured using either the relationship fluent API or data annotations." + + + + + InvalidOperationException with message like "The abstract type '{0}' has no mapped descendents and so cannot be mapped. Either remove '{0}' from the model or add one or more types deriving from '{0}' to the model. " + + + + + NotSupportedException with message like "The type '{0}' cannot be mapped as defined because it maps inherited properties from types that use entity splitting or another form of inheritance. Either choose a different inheritance mapping strategy so as to not map inherited properties, or change all types in the hierarchy to map inherited properties and to not use splitting. " + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + A string like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + A string like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + A string like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + A string like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + A string like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + A string like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + A string like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + A string like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + A string like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + A string like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + A string like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + A string like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + A string like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + A string like "{0} cannot be used for entities in the {1} state." + + + + + A string like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + A string like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + A string like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + A string like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + A string like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + A string like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + A string like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + A string like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data." + + + + + A string like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'." + + + + + A string like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details." + + + + + A string like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + A string like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + A string like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + A string like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + A string like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + A string like "The entity type {0} is not part of the model for the current context." + + + + + A string like "No connection string named '{0}' could be found in the application config file." + + + + + A string like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + A string like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + A string like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.IsValid. See the inner exception for details." + + + + + A string like "An unexpected exception was thrown during validation of '{0}' when invoking {1}.Validate. See the inner exception for details." + + + + + A string like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + A string like "Setting IsModified to false for a modified property is not supported." + + + + + A string like "An error occurred while saving entities that do not expose foreign key properties for their relationships. The EntityEntries property will return null because a single entity cannot be identified as the source of the exception. Handling of exceptions while saving can be made easier by exposing foreign key properties in your entity types. See the InnerException for details." + + + + + A string like "The set of property value names is read-only." + + + + + A string like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + A string like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + A string like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + A string like "The context cannot be used while the model is being created." + + + + + A string like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + A string like "The operation cannot be completed because the DbContext has been disposed." + + + + + A string like "The provider factory returned a null connection." + + + + + A string like "The DbConnectionFactory instance returned a null connection." + + + + + A string like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + A string like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + A string like "Multiple entities were found in the Added state that match the given primary key values." + + + + + A string like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + A string like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + A string like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + A string like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + A string like "Validation failed for one or more entities. See 'EntityValidationErrors' property for more details." + + + + + A string like "An exception occurred while initializing the database. See the InnerException for details." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + A string like "Code generated using the T4 templates for Database First and Model First development may not work correctly if used in Code First mode. To continue using Database First or Model First ensure that the Entity Framework connection string is specified in the config file of executing application. To use these classes, that were generated from Database First or Model First, with Code First add any additional configuration using attributes or the DbModelBuilder API and then remove the code that throws this exception." + + + + + Strongly-typed and parameterized exception factory. + + + + + InvalidOperationException with message like "Cannot get value for property '{0}' from entity of type '{1}' because the property has no get accessor." + + + + + InvalidOperationException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor." + + + + + + NotSupportedException with message like "Cannot set value for property '{0}' on entity of type '{1}' because the property has no set accessor and is in the '{2}' state." + + + + + InvalidOperationException with message like "Member '{0}' cannot be called for property '{1}' on entity of type '{2}' because the property is not part of the Entity Data Model." + + + + + + ArgumentException with message like "Cannot call the {0} method for an entity of type '{1}' on a DbSet for entities of type '{2}'. Only entities of type '{2}' or derived from type '{2}' can be added, attached, or removed." + + + + + ArgumentException with message like "Cannot call the Create method for the type '{0}' on a DbSet for entities of type '{1}'. Only entities of type '{1}' or derived from type '{1}' can be created." + + + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a collection navigation property. The Collection method should be used instead of the Reference method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is a reference navigation property. The Reference method should be used instead of the Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a navigation property. The Reference and Collection methods can only be used with navigation properties. Use the Property or ComplexProperty method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive or complex property. The Property method can only be used with primitive or complex properties. Use the Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a complex property. The ComplexProperty method can only be used with complex properties. Use the Property, Reference or Collection method." + + + + + ArgumentException with message like "The property '{0}' on type '{1}' is not a primitive property, complex property, collection navigation property, or reference navigation property." + + + + + ArgumentException with message like ""The property '{0}' from the property path '{1}' is not a complex property on type '{2}'. Property paths must be composed of complex properties for all except the final property."" + + + + + ArgumentException with message like ""The property path '{0}' cannot be used for navigation properties. Property paths can only be used to access primitive or complex properties."" + + + + + ArgumentException with message like "The navigation property '{0}' on entity type '{1}' cannot be used for entities of type '{2}' because it refers to entities of type '{3}'." + + + + + ArgumentException with message like "The generic type argument '{0}' cannot be used with the Member method when accessing the collection navigation property '{1}' on entity type '{2}'. The generic type argument '{3}' must be used instead." + + + + + ArgumentException with message like "The property '{0}' on entity type '{1}' cannot be used for objects of type '{2}' because it is a property for objects of type '{3}'." + + + + + NotSupportedException with message like "Setting IsModified to false for a modified property is not supported." + + + + + ArgumentException with message like "The expression passed to method {0} must represent a property defined on the type '{1}'." + + + + + InvalidOperationException with message like "{0} cannot be used for entities in the {1} state." + + + + + InvalidOperationException with message like "Cannot set non-nullable property '{0}' of type '{1}' to null on object of type '{2}'." + + + + + InvalidOperationException with message like "The property '{0}' in the entity of type '{1}' is null. Store values cannot be obtained for an entity with a null complex property." + + + + + InvalidOperationException with message like "Cannot assign value of type '{0}' to property '{1}' of type '{2}' in property values for type '{3}'." + + + + + NotSupportedException with message like "The set of property value names is read-only." + + + + + ArgumentException with message like "The '{0}' property does not exist or is not mapped for the type '{1}'." + + + + + ArgumentException with message like "Cannot copy values from DbPropertyValues for type '{0}' into DbPropertyValues for type '{1}'." + + + + + ArgumentException with message like "Cannot copy from property values for object of type '{0}' into property values for object of type '{1}'." + + + + + ArgumentException with message like "A property of a complex type must be set to an instance of the generic or non-generic DbPropertyValues class for that type." + + + + + InvalidOperationException with message like "The value of the complex property '{0}' on entity of type '{1}' is null. Complex properties cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The value of the nested property values property '{0}' on the values for entity of type '{1}' is null. Nested property values cannot be set to null and values cannot be set for null complex properties." + + + + + InvalidOperationException with message like "The model backing the '{0}' context has changed since the database was created. Either manually delete/update the database, or call Database.SetInitializer with an IDatabaseInitializer instance. For example, the DropCreateDatabaseIfModelChanges strategy will automatically delete and recreate the database, and optionally seed it with new data." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the DbContext instance was not created using Code First patterns. DbContext instances created from an ObjectContext or using an EDMX file cannot be checked for compatibility." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the EdmMetadata type was not included in the model. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + NotSupportedException with message like "Model compatibility cannot be checked because the database does not contain model metadata. Ensure that IncludeMetadataConvention has been added to the DbModelBuilder conventions." + + + + + InvalidOperationException with message like "The DbContextDatabaseInitializer entry 'key="{0}" value="{1}"' in the application configuration is not valid. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'." + + + + + InvalidOperationException with message like "Failed to set database initializer of type '{0}' for DbContext type '{1}' specified in the application configuration. Entries should be of the form 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="MyNamespace.MyInitializerClass, MyAssembly"' or 'key="DatabaseInitializerForType MyNamespace.MyDbContextClass, MyAssembly" value="Disabled"'. The initializer class must have a parameterless constructor. See inner exception for details." + + + + + InvalidOperationException with message like "The type '{0}' could not be found. The type name must be an assembly-qualified name." + + + + + InvalidOperationException with message like "The context cannot be used while the model is being created." + + + + + InvalidOperationException with message like "The DbContext class cannot be used with models that have multiple entity sets per type (MEST)." + + + + + InvalidOperationException with message like "The operation cannot be completed because the DbContext has been disposed." + + + + + InvalidOperationException with message like "The provider factory returned a null connection." + + + + + InvalidOperationException with message like "The connection string '{0}' in the application's configuration file does not contain the required providerName attribute."" + + + + + InvalidOperationException with message like "The DbConnectionFactory instance returned a null connection." + + + + + ArgumentException with message like "The number of primary key values passed must match number of primary key values defined on the entity." + + + + + ArgumentException with message like "The type of one of the primary key values did not match the type defined in the entity. See inner exception for details." + + + + + InvalidOperationException with message like "The entity found was of type {0} when an entity of type {1} was requested." + + + + + InvalidOperationException with message like "Multiple entities were found in the Added state that match the given primary key values." + + + + + InvalidOperationException with message like "The type '{0}' is mapped as a complex type. The Set method, DbSet objects, and DbEntityEntry objects can only be used with entity types, not complex types." + + + + + InvalidOperationException with message like "The type '{0}' is not attributed with EdmEntityTypeAttribute but is contained in an assembly attributed with EdmSchemaAttribute. POCO entities that do not use EdmEntityTypeAttribute cannot be contained in the same assembly as non-POCO entities that use EdmEntityTypeAttribute." + + + + + InvalidOperationException with message like "The entity type {0} is not part of the model for the current context." + + + + + NotSupportedException with message like "Data binding directly to a store query (DbSet, DbQuery, DbSqlQuery) is not supported. Instead populate a DbSet with data, for example by calling Load on the DbSet, and then bind to local data. For WPF bind to DbSet.Local. For WinForms bind to DbSet.Local.ToBindingList()." + + + + + ArgumentException with message like "The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties." + + + + + InvalidOperationException with message like "No connection string named '{0}' could be found in the application config file." + + + + + InvalidOperationException with message like "Cannot initialize a DbContext from an entity connection string or an EntityConnection instance together with a DbCompiledModel. If an entity connection string or EntityConnection instance is used, then the model will be created from the metadata in the connection. If a DbCompiledModel is used, then the connection supplied should be a standard database connection (for example, a SqlConnection instance) rather than an entity connection." + + + + + NotSupportedException with message like "The collection navigation property '{0}' on the entity of type '{1}' cannot be set because the entity type does not define a navigation property with a set accessor." + + + + + NotSupportedException with message like "Using the same DbCompiledModel to create contexts against different types of database servers is not supported. Instead, create a separate DbCompiledModel for each type of server being used." + + + + + InvalidOperationException with message like "Multiple object sets per type are not supported. The object sets '{0}' and '{1}' can both contain instances of type '{2}'." + + + + + InvalidOperationException with message like "The context type '{0}' must have a public constructor taking an EntityConnection." + + + + + NotSupportedException with message like "The database name '{0}' is not supported because it is an MDF file name. A full connection string must be provided to attach an MDF file." + + + + + DataException with message like "An exception occurred while initializing the database. See the InnerException for details." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing ObjectContext is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using an existing DbCompiledModel is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + NotSupportedException with message like "Creating a DbModelBuilder or writing the EDMX from a DbContext created using Database First or Model First is not supported. EDMX can only be obtained from a Code First DbContext created without using an existing DbCompiledModel." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Strongly-typed and parameterized string resources. + + + + + A string like "The field {0} must be a string or array type with a maximum length of '{1}'." + + + + + A string like "The field {0} must be a string or array type with a minimum length of '{1}'." + + + + + A string like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + A string like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + A string like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + Strongly-typed and parameterized exception factory. + + + + + InvalidOperationException with message like "MaxLengthAttribute must have a Length value that is greater than zero. Use MaxLength() without parameters to indicate that the string or array can have the maximum allowable length." + + + + + InvalidOperationException with message like "MinLengthAttribute must have a Length value that is zero or greater." + + + + + ArgumentException with message like "The argument '{0}' cannot be null, empty or contain only white space." + + + + + The exception that is thrown when a null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument. + + + + + The exception that is thrown when the value of an argument is outside the allowable range of values as defined by the invoked method. + + + + + The exception that is thrown when the author has yet to implement the logic at this point in the program. This can act as an exception based TODO tag. + + + + + The exception that is thrown when an invoked method is not supported, or when there is an attempt to read, seek, or write to a stream that does not support the invoked functionality. + + + + + Gets or sets an value representing the model that is being mapped. + + + + + Gets or sets a value representing the database that is the target of the mapping. + + + + + Gets or sets the collection of s that specifies how the model's entity containers are mapped to the database. + + + + + This convention uses the name of the derived + class as the container for the conceptual model built by + Code First. + + + + + Identifies conventions that can be removed from a instance. + + + + + Initializes a new instance of the class. + + The model container name. + + + + Applies the convention to the given model. + + The model. + + + + This convention uses the namespace of the derived + class as the namespace of the conceptual model built by + Code First. + + + + + Initializes a new instance of the class. + + The model namespace. + + + + Applies the convention to the given model. + + The model. + + + + Thrown when a context is generated from the templates in Database First or Model + First mode and is then used in Code First mode. + + + Code generated using the T4 templates provided for Database First and Model First use may not work + correctly if used in Code First mode. To use these classes with Code First please add any additional + configuration using attributes or the DbModelBuilder API and then remove the code that throws this + exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The object that holds the serialized object data. + The contextual information about the source or destination. + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Adapted from to allow the initializer to take an input object and + to do one-time initialization that only has side-effects and doesn't return a value. + + The type of the input. + + + + Initializes a new instance of the class. + + The action. + + + + Performs the action unless it has already been successfully performed before. + + The input to the action; ignored if the action has already succeeded. + + + + Adapted from to allow the initializer to take an input object and + to retry initialization if it has previously failed. + + + This class can only be used to initialize reference types that will not be null when + initialized. + + The type of the input. + The type of the result. + + + + Initializes a new instance of the class. + + The value factory. + + + + Gets the value, possibly by running the initializer if it has not been run before or + if all previous times it ran resulted in exceptions. + + The input to the initializer; ignored if initialization has already succeeded. + The initialized object. + + + + Abstracts simple validators used to validate entities and properties. + + + + + Validates an entity or a property. + + Validation context. Never null. + Property to validate. Can be null for type level validation. + Validation error as. Empty if no errors. Never null. + + + + + Contracts for interface. + + + + + Contract for IValidator.Validate method. + + Validation context. + Property. + Nothing - always throws. + + + + Indicates what parts of a configuration are overridable. + + + + + Nothing in the configuration is overridable. + + + + + The configuration values related to C-Space are overridable. + + + + + The configuration values only related to S-Space are overridable. + + + + + Populate the table mapping structure + + + + + Sets nullability for association set mappings' foreign keys for 1:* and 1:0..1 associations + when no base types share the the association set mapping's table + + + + + Makes sure only the required property mappings are present + + + + + Determines if the table and entity type need mapping, and if not, removes the existing entity type mapping + + + + + Base class for configuring a property on an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Convention to set a default maximum length of 4000 for properties whose type supports length facets when SqlCe is the provider. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Exception thrown from when an exception is thrown from the validation + code. + + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + + + + Initializes a new instance of DbUnexpectedValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbUnexpectedValidationException with the specified serialization info and + context. + + The serialization info. + The streaming context. + + + + An implementation of IDatabaseInitializer that will always recreate and optionally re-seed the + database the first time that a context is used in the app domain. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An implementation of IDatabaseInitializer that will recreate and optionally re-seed the + database only if the database does not exist. + To seed the database, create a derived class and override the Seed method. + + The type of the context. + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + An instances of this class is obtained from an object and can be used + to manage the actual database backing a DbContext or connection. + This includes creating, deleting, and checking for the existence of a database. + Note that deletion and checking for existence of a database can be performed using just a + connection (i.e. without a full context) by using the static methods of this class. + + + + + Creates a Database backed by the given context. This object can be used to create a database, + check for database existence, and delete a database. + + The context that defines the database connection and model. + + + + Gets or sets the database initialization strategy. The database initialization strategy is called when instance + is initialized from a . The strategy can optionally check for database existence, create a new database, and + seed the database with data. + The default strategy is an instance of created with useSeedData set + to true. + + The type of the context. + The strategy. + The database creation strategy. + + + + Internal version of SetInitializer that allows the strategy to be locked such that it cannot be replaced + by another call to SetInitializer. This allows strategies set in the app.config to win over strategies set + in code. + + The type of the context. + The strategy. + if set to true then the strategy is locked. + + + + Runs the the registered on this context. + + If "force" is set to true, then the initializer is run regardless of whether or not it + has been run before. This can be useful if a database is deleted while an app is running + and needs to be reinitialized. + + If "force" is set to false, then the initializer is only run if it has not already been + run for this context, model, and connection in this app domain. This method is typically + used when it is necessary to ensure that the database has been created and seeded + before starting some operation where doing so lazily will cause issues, such as when the + operation is part of a transaction. + + if set to true the initializer is run even if it has already been run. + + + + This method returns true if the context has a model hash and the database contains a model hash + and these hashes match. This indicates that the model used to create the database is the same + as the current model and so the two can be used together. + + If set to true then an exception will be thrown if no + model metadata is found either in the model associated with the context or in the database + itself. If set to false then this method will return true if metadata is + not found. + + True if the model hash in the context and the database match; false otherwise. + + + + + Creates a new database on the database server for the model defined in the backing context. + Note that calling this method before the database initialization strategy has run will disable + executing that strategy. + + + + + Creates a new database on the database server for the model defined in the backing context, but only + if a database with the same name does not already exist on the server. + + True if the database did not exist and was created; false otherwise. + + + + Checks whether or not the database exists on the server. + + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + The connection to the database is created using the given database name or connection string + in the same way as is described in the documentation for the class. + + The database name or a connection string to the database. + True if the database did exist and was deleted; false otherwise. + + + + Checks whether or not the database exists on the server. + + An existing connection to the database. + True if the database exists; false otherwise. + + + + Deletes the database on the database server if it exists, otherwise does nothing. + + An existing connection to the database. + True if the database did exist and was deleted; false otherwise. + + + + Performs the operation defined by the given delegate using the given lazy connection, ensuring + that the lazy connection is disposed after use. + + Information used to create a DbConnection. + The operation to perform. + The return value of the operation. + + + + Performs the operation defined by the given delegate against a connection. The connection + is either the connection accessed from the context backing this object, or is obtained from + the connection information passed to one of the static methods. + + The connection to use. + The operation to perform. + The return value of the operation. + + + + Returns an empty ObjectContext that can be used to perform delete/exists operations. + + The connection for which to create an ObjectContext + The empty context. + + + + Creates a raw SQL query that will return elements of the given generic type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Creates a raw SQL query that will return elements of the given type. + The type can be any type that has properties that match the names of the columns returned + from the query, or can be a simple primitive type. The type does not have to be an + entity type. The results of this query are never tracked by the context even if the + type of object returned is an entity type. Use the + method to return entities that are tracked by the context. + + The type of object returned by the query. + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Executes the given DDL/DML command against the database. + + The command string. + The parameters to apply to the command string. + The result returned by the database after executing the command. + + + + Returns the connection being used by this context. This may cause the context to be initialized + and the connection to be created if it does not already exist. + + Thrown if the context has been disposed. + + + + Returns the as a delegate that can be called with + an instance of the that owns this Database object, or returns null if + there is no initializer set for this context type. + + The initializer delegate or null. + + + + The connection factory to use when creating a from just + a database name or a connection string. + + + This is used when just a database name or connection string is given to or when + the no database name or connection is given to DbContext in which case the name of + the context class is passed to this factory in order to generate a DbConnection. + The default connection factory creates a connection to SQL Express on the local machine. However, + this default may be changed by an application framework. + + + + + An implementation of IDatabaseInitializer that will DELETE, recreate, and optionally re-seed the + database only if the model has changed since the database was created. This is achieved by writing a + hash of the store model to the database when it is created and then comparing that hash with one + generated from the current model. + To seed the database, create a derived class and override the Seed method. + + + + + Executes the strategy to initialize the database for the given context. + + The context. + + + + A that should be overridden to actually add data to the context for seeding. + The default implementation does nothing. + + The context to seed. + + + + A DbContext instance represents a combination of the Unit Of Work and Repository patterns such that + it can be used to query from a database and group together changes that will then be written + back to the store as a unit. + DbContext is conceptually similar to ObjectContext. + + + DbContext is usually used with a derived type that contains properties for + the root entities of the model. These sets are automatically initialized when the + instance of the derived class is created. This behavior can be modified by applying the + attribute to either the entire derived context + class, or to individual properties on the class. + + The Entity Data Model backing the context can be specified in several ways. When using the Code First + approach, the properties on the derived context are used to build a model + by convention. The protected OnModelCreating method can be overridden to tweak this model. More + control over the model used for the Model First approach can be obtained by creating a + explicitly from a and passing this model to one of the DbContext constructors. + + When using the Database First or Model First approach the Entity Data Model can be created using the + Entity Designer (or manually through creation of an EDMX file) and then this model can be specified using + entity connection string or an object. + + The connection to the database (including the name of the database) can be specified in several ways. + If the parameterless DbContext constructor is called from a derived context, then the name of the derived context + is used to find a connection string in the app.config or web.config file. If no connection string is found, then + the name is passed to the DefaultConnectionFactory registered on the class. The connection + factory then uses the context name as the database name in a default connection string. (This default connection + string points to .\SQLEXPRESS on the local machine unless a different DefaultConnectionFactory is registered.) + + Instead of using the derived context name, the connection/database name can also be specified explicitly by + passing the name to one of the DbContext constructors that takes a string. The name can also be passed in + the form "name=myname", in which case the name must be found in the config file or an exception will be thrown. + + Note that the connection found in the app.config or web.config file can be a normal database connection + string (not a special Entity Framework connection string) in which case the DbContext will use Code First. + However, if the connection found in the config file is a special Entity Framework connection string, then the + DbContext will use Database/Model First and the model specified in the connection string will be used. + + An existing or explicitly created DbConnection can also be used instead of the database/connection name. + + A can be applied to a class derived from DbContext to set the + version of conventions used by the context when it creates a model. If no attribute is applied then the + latest version of conventions will be used. + + + + + Interface implemented by objects that can provide an instance. + The class implements this interface to provide access to the underlying + ObjectContext. + + + + + Gets the object context. + + The object context. + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made. The by-convention name is the full name (namespace + class name) + of the derived context class. + See the class remarks for how this is used to create a connection. + + + + + Constructs a new context instance using conventions to create the name of the database to + which a connection will be made, and initializes it from the given model. + The by-convention name is the full name (namespace + class name) of the derived context class. + See the class remarks for how this is used to create a connection. + + The model that will back this context. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + + + + Constructs a new context instance using the given string as the name or connection string for the + database to which a connection will be made, and initializes it from the given model. + See the class remarks for how this is used to create a connection. + + Either the database name or a connection string. + The model that will back this context. + + + + Constructs a new context instance using the existing connection to connect to a database. + The connection will not be disposed when the context is disposed. + + An existing connection to use for the new context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + Constructs a new context instance using the existing connection to connect to a database, + and initializes it from the given model. + The connection will not be disposed when the context is disposed. + An existing connection to use for the new context. + The model that will back this context. + If set to true the connection is disposed when + the context is disposed, otherwise the caller must dispose the connection. + + + + + Constructs a new context instance around an existing ObjectContext. + An existing ObjectContext to wrap with the new context. + If set to true the ObjectContext is disposed when + the DbContext is disposed, otherwise the caller must dispose the connection. + + + + + Initializes the internal context, discovers and initializes sets, and initializes from a model if one is provided. + + + + + Discovers DbSets and initializes them. + + + + + This method is called when the model for a derived context has been initialized, but + before the model has been locked down and used to initialize the context. The default + implementation of this method does nothing, but it can be overridden in a derived class + such that the model can be further configured before it is locked down. + + + Typically, this method is called only once when the first instance of a derived context + is created. The model for that context is then cached and is for all further instances of + the context in the app domain. This caching can be disabled by setting the ModelCaching + property on the given ModelBuidler, but note that this can seriously degrade performance. + More control over caching is provided through use of the DbModelBuilder and DbContextFactory + classes directly. + + The builder that defines the model for the context being created. + + + + Internal method used to make the call to the real OnModelCreating method. + + The model builder. + + + + Returns a DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + + See the DbSet class for more details. + + The type entity for which a set should be returned. + A set for the given entity type. + + + + Returns a non-generic DbSet instance for access to entities of the given type in the context, + the ObjectStateManager, and the underlying store. + + The type of entity for which a set should be returned. + A set for the given entity type. + + See the DbSet class for more details. + + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + Thrown if the context has been disposed. + + + + Validates tracked entities and returns a Collection of containing validation results. + + + Collection of validation results for invalid entities. The collection is never null and must not contain null + values or results for valid entities. + + + 1. This method calls DetectChanges() to determine states of the tracked entities unless + DbContextConfiguration.AutoDetectChangesEnabled is set to false. + 2. By default only Added on Modified entities are validated. The user is able to change this behavior + by overriding ShouldValidateEntity method. + + + + + Extension point allowing the user to override the default behavior of validating only + added and modified entities. + + DbEntityEntry instance that is supposed to be validated. + true to proceed with validation. false otherwise. + + + + Extension point allowing the user to customize validation of an entity or filter out validation results. + Called by . + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when overridden. + + + + Internal method that calls the protected ValidateEntity method. + + DbEntityEntry instance to be validated. + User defined dictionary containing additional info for custom validation. + It will be passed to + and will be exposed as . + This parameter is optional and can be null. + Entity validation result. Possibly null when ValidateEntity is overridden. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The type of the entity. + The entity. + An entry for the entity. + + + + Gets a object for the given entity providing access to + information about the entity and the ability to perform actions on the entity. + + The entity. + An entry for the entity. + + + + Calls the protected Dispose method. + + + + + Disposes the context. The underlying is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + The connection to the database ( object) is also disposed if it was created + is by this context or ownership was passed to this context when this context was created. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Creates a Database instance for this context that allows for creation/deletion/existence checks + for the underlying database. + + + + + Returns the Entity Framework ObjectContext that is underlying this context. + + Thrown if the context has been disposed. + + + + Provides access to features of the context that deal with change tracking of entities. + + An object used to access features that deal with change tracking. + + + + Provides access to configuration options for the context. + + An object used to access configuration options. + + + + Provides access to the underlying InternalContext for other parts of the internal design. + + + + + + + Common code for generic and non-generic string Include. + + + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The element type. + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Returns a new query where the entities returned will not be cached in the + or . This method works by calling the AsNoTracking method of the + underlying query object. If the underlying query object does not have a AsNoTracking method, + then calling this method will have no affect. + + The source query. + A new query with NoTracking applied, or the source query if NoTracking is not supported. + + + + Common code for generic and non-generic AsNoTracking. + + + + + Enumerates the query such that for server queries such as those of , , + , and others the results of the query will be loaded into the associated , + or other cache on the client. + This is equivalent to calling ToList and then throwing away the list without the overhead of actually creating the list. + + The source query. + + + + Returns an implementation that stays in sync with the given . + + The element type. + The collection that the binding list will stay in sync with. + The binding list. + + + + A DbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet objects are created from a DbContext using the DbContext.Set method. + + + Note that DbSet does not support MEST (Multiple Entity Sets per Type) meaning that there is always a + one-to-one correlation between a type and a set. + + The type that defines the set. + + + + Represents a LINQ to Entities query against a DbContext. + + The type of entity to query for. + + + + An internal interface implemented by and that allows access to + the internal query without using reflection. + + + + + The underlying internal set. + + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns a new instance of the non-generic class for this query. + + A non-generic version. + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + The internal query object that is backing this DbQuery + + + + + The internal query object that is backing this DbQuery + + + + + An IDbSet represents the collection of all entities in the context, or that can be queried from the + database, of a given type. DbSet is a concrete implementation of IDbSet. + + The type that defines the set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + An internal interface implemented by and that allows access to + the internal set without using reflection. + + + + + The underlying internal set. + + + + + Creates a new set that will be backed by the given . + + The internal set. + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Returns the equivalent non-generic object. + + The non-generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + A non-generic version of which can be used when the type of entity + is not known at build time. + + + + + Represents a non-generic LINQ to Entities query against a DbContext. + + + + + Internal constructor prevents external classes deriving from DbQuery. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + Instead populate a DbSet with data, for example by using the Load extension method, and + then bind to local data. For WPF bind to DbSet.Local. For Windows Forms bind to + DbSet.Local.ToBindingList(). + + + Never returns; always throws. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Returns the equivalent generic object. + + The type of element for which the query was created. + The generic set object. + + + + Returns a representation of the underlying query. + + + The query string. + + + + + Returns false. + + false. + + + + The IQueryable element type. + + + + + The IQueryable LINQ Expression. + + + + + The IQueryable provider. + + + + + Gets the underlying internal query object. + + The internal query. + + + + The internal query object that is backing this DbQuery + + + + + Internal constructor prevents external classes deriving from DbSet. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + The entity to attach. + The entity. + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + The entity to add. + The entity. + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + The entity to remove. + The entity. + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Returns the equivalent generic object. + + The type of entity for which the set was created. + The generic set object. + + + + Creates a raw SQL query that will return entities in this set. By default, the + entities returned are tracked by the context; this can be changed by calling + AsNoTracking on the returned. + Note that the entities returned are always of the type for this set and never of + a derived type. If the table or tables queried may contain data for other entity + types, then the SQL query must be written appropriately to ensure that only entities of + the correct type are returned. + + The SQL query string. + The parameters to apply to the SQL query string. + A object that will execute the query when it is enumerated. + + + + Gets an that represents a local view of all Added, Unchanged, + and Modified entities in this set. This local view will stay in sync as entities are added or + removed from the context. Likewise, entities added to or removed from the local view will automatically + be added to or removed from the context. + + + This property can be used for data binding by populating the set with data, for example by using the Load + extension method, and then binding to the local data through this property. For WPF bind to this property + directly. For Windows Forms bind to the result of calling ToBindingList on this property + + The local view. + + + + The internal IQueryable that is backing this DbQuery + + + + + Gets the underlying internal set. + + The internal set. + + + + Contains methods used to access the Entity Data Model created by Code First in the EDMX form. + These methods are typically used for debugging when there is a need to look at the model that + Code First creates internally. + + + + + Uses Code First with the given context and writes the resulting Entity Data Model to the given + writer in EDMX form. This method can only be used with context instances that use Code First + and create the model internally. The method cannot be used for contexts created using Database + First or Model First, for contexts created using a pre-existing , or + for contexts created using a pre-existing . + + The context. + The writer. + + + + Writes the Entity Data Model represented by the given to the + given writer in EDMX form. + + An object representing the EDM. + The writer. + + + + This attribute can be applied to a class derived from to set which + version of the DbContext and conventions should be used when building + a model from code--also know as "Code First". See the + enumeration for details about DbModelBuilder versions. + + + If the attribute is missing from DbContextthen DbContext will always use the latest + version of the conventions. This is equivalent to using DbModelBuilderVersion.Latest. + + + + + Initializes a new instance of the class. + + The conventions version to use. + + + + Gets the conventions version. + + The conventions version. + + + + A value from this enumeration can be provided directly to the + class or can be used in the applied to + a class derived from . The value used defines which version of + the DbContext and DbModelBuilder conventions should be used when building a model from + code--also know as "Code First". + + + Using DbModelBuilderVersion.Latest ensures that all the latest functionality is available + when upgrading to a new release of the Entity Framework. However, it may result in an + application behaving differently with the new release than it did with a previous release. + This can be avoided by using a specific version of the conventions, but if a version + other than the latest is set then not all the latest functionality will be available. + + + + + Indicates that the latest version of the and + conventions should be used. + + + + + Indicates that the version of the and + conventions shipped with Entity Framework v4.1 + should be used. + + + + + Represents an Entity Data Model (EDM) created by the . + The Compile method can be used to go from this EDM representation to a + which is a compiled snapshot of the model suitable for caching and creation of + or instances. + + + + + Initializes a new instance of the class. + + + + + Creates a for this mode which is a compiled snapshot + suitable for caching and creation of instances. + + The compiled model. + + + + Implementations of this interface are used to create DbConnection objects for + a type of database server based on a given database name. + An Instance is set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use a certain type of database server by default. + Two implementations of this interface are provided: + is used to create connections to Microsoft SQL Server, including EXPRESS editions. + is used to create connections to Microsoft SQL + Server Compact Editions. + Other implementations for other database servers can be added as needed. + Note that implementations should be thread safe or immutable since they may + be accessed by multiple threads at the same time. + + + + + Creates a connection based on the given database name or connection string. + + The database name or connection string. + An initialized DbConnection. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a generic version of this class. + + + + + Initializes a new instance of the class. + + The internal query. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + Represents a SQL query for entities that is created from a + and is executed using the connection from that context. + Instances of this class are obtained from the instance for the + entity type. The query is not executed when this object is created; it is executed + each time it is enumerated, for example by using foreach. + SQL queries for non-entities are created using the . + See for a non-generic version of this class. + + + + + Executes the query and returns an enumerator for the elements. + + An object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a new query where the results of the query will not be tracked by the associated + . + + A new query with no-tracking applied. + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Gets the internal query. + + The internal query. + + + + Returns false. + + false. + + + + This convention causes DbModelBuilder to include metadata about the model + when it builds the model. When creates a model by convention it will + add this convention to the list of those used by the DbModelBuilder. This will then result in + model metadata being written to the database if the DbContext is used to create the database. + This can then be used as a quick check to see if the model has changed since the last time it was + used against the database. + This convention can be removed from the conventions by overriding + the OnModelCreating method on a derived DbContext class. + + + + + Adds metadata to the given model configuration. + + The model configuration. + + + + Instances of this class are used to create DbConnection objects for + SQL Server Compact Edition based on a given database name or connection string. + + + It is necessary to provide the provider invariant name of the SQL Server Compact + Edition to use when creating an instance of this class. This is because different + versions of SQL Server Compact Editions use different invariant names. + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server Compact Edition by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with empty (default) DatabaseDirectory and BaseConnectionString + properties. + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + + Creates a new connection factory with the given DatabaseDirectory and BaseConnectionString properties. + + + The provider invariant name that specifies the version of SQL Server Compact Edition that should be used. + + + The path to prepend to the database name that will form the file name used by SQL Server Compact Edition + when it creates or reads the database file. An empty string means that SQL Server Compact Edition will use + its default for the database file location. + + + The connection string to use for options to the database other than the 'Data Source'. The Data Source will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server Compact Edition based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The path to prepend to the database name that will form the file name used by + SQL Server Compact Edition when it creates or reads the database file. + The default value is "|DataDirectory|", which means the file will be placed + in the designated data directory. + + + + + The connection string to use for options to the database other than the 'Data Source'. + The Data Source will be prepended to this string based on the database name when + CreateConnection is called. + The default is the empty string, which means no other options will be used. + + + + + The provider invariant name that specifies the version of SQL Server Compact Edition + that should be used. + + + + + Instances of this class are used to create DbConnection objects for + SQL Server based on a given database name or connection string. By default, the connection is + made to '.\SQLEXPRESS'. This can be changed by changing the base connection + string when constructing a factory instance. + + + An instance of this class can be set on the class to + cause all DbContexts created with no connection information or just a database + name or connection string to use SQL Server by default. + This class is immutable since multiple threads may access instances simultaneously + when creating connections. + + + + + Creates a new connection factory with a default BaseConnectionString property of + 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + Creates a new connection factory with the given BaseConnectionString property. + + + The connection string to use for options to the database other than the 'Initial Catalog'. The 'Initial Catalog' will + be prepended to this string based on the database name when CreateConnection is called. + + + + + Creates a connection for SQL Server based on the given database name or connection string. + If the given string contains an '=' character then it is treated as a full connection string, + otherwise it is treated as a database name only. + + The database name or connection string. + An initialized DbConnection. + + + + The connection string to use for options to the database other than the 'Initial Catalog'. + The 'Initial Catalog' will be prepended to this string based on the database name when + CreateConnection is called. + The default is 'Data Source=.\SQLEXPRESS; Integrated Security=True; MultipleActiveResultSets=True'. + + + + + A non-generic version of the class. + + + + + A non-generic version of the class. + + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the name of the property. + + The property name. + + + + Gets or sets the current value of this property. + + The current value. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the backing this object. + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the complex property. + The equivalent generic object. + + + + Instances of this class are returned from the ComplexProperty method of + and allow access to the state of a complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + Instances of this class are returned from the Property method of + and allow access to the state of the scalar + or complex property. + + The type of the entity to which this property belongs. + The type of the property. + + + + This is an abstract base class use to represent a scalar or complex property, or a navigation property + of an entity. Scalar and complex properties use the derived class , + reference navigation properties use the derived class , and collection + navigation properties use the derived class . + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + This method will create an instance of the appropriate subclass depending on the metadata contained + in the InternalMemberEntry instance. + + The internal member entry. + The new entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Validates this property. + + + Collection of objects. Never null. If the entity is valid the collection will be empty. + + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets the underlying . + + The internal member entry. + + + + The to which this member belongs. + + An entry for the entity that owns this member. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the original value of this property. + + The original value. + + + + Gets or sets the current value of this property. + + The current value. + + + + Gets or sets a value indicating whether the value of this property has been modified since + it was loaded from the database. + + + true if this instance is modified; otherwise, false. + + + + + The to which this property belongs. + + An entry for the entity that owns this property. + + + + The of the property for which this is a nested property. + This method will only return a non-null entry for properties of complex objects; it will + return null for properties of the entity itself. + + An entry for the parent complex property, or null if this is an entity property. + + + + Gets the underlying as an . + + The internal member entry. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal property entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Returns a new instance of the non-generic class for + the property represented by this object. + + A non-generic version. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested property of this property. + This method can be used for both scalar or complex properties. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + The name of the nested property. + An object representing the nested property. + + + + Gets an object that represents a nested complex property of this property. + + The type of the nested property. + An expression representing the nested property. + An object representing the nested property. + + + + Returned by the ChangeTracker method of to provide access to features of + the context that are related to change tracking of entities. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets objects for all the entities tracked by this context. + + The entries. + + + + Gets objects for all the entities of the given type + tracked by this context. + + The type of the entity. + The entries. + + + + Detects changes made to the properties and relationships of POCO entities. Note that some types of + entity (such as change tracking proxies and entities that derive from ) + report changes automatically and a call to DetectChanges is not normally needed for these types of entities. + Also note that normally DetectChanges is called automatically by many of the methods of + and its related classes such that it is rare that this method will need to be called explicitly. + However, it may be desirable, usually for performance reasons, to turn off this automatic calling of + DetectChanges using the AutoDetectChangesEnabled flag from . + + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the collection element. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Collection method of + and allow operations such as loading to + be performed on the an entity's collection navigation properties. + + The type of the entity to which this property belongs. + The type of the element in the collection of entities. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal collection entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the collection of entities from the database. + Note that entities that already exist in the context are not overwritten with values from the database. + + + + + Returns the query that would be used to load this collection from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database, such + as counting the number of entities in the collection in the database without actually loading them. + + A query for the collection. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the collection of entities has been loaded from the database. + + true if the collection is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Exception thrown by when it was expected that SaveChanges for an entity would + result in a database update but in fact no rows in the database were affected. This usually indicates + that the database has been concurrently updated such that a concurrency token that was expected to match + did not actually match. + Note that state entries referenced by this exception are not serialized due to security and accesses to + the state entries after serialization will return null. + + + + + + Initializes a new instance of the class. + + The internal context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Gets objects that represents the entities that could not + be saved to the database. + + The entries representing the entities that could not be saved. + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Completes the deserialization. + + The deserialized object. + + + + Gets or sets a value indicating whether the exception involved independent associations. + + + + + Initializes a new instance of the class. + + The context. + The inner exception. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The message. + + + + Initializes a new instance of the class. + + The message. + The inner exception. + + + + Returned by the Configuration method of to provide access to configuration + options for the context. + + + + + Initializes a new instance of the class. + + The internal context. + + + + Gets or sets a value indicating whether lazy loading of relationships exposed as + navigation properties is enabled. Lazy loading is enabled by default. + + true if lazy loading is enabled; otherwise, false. + + + + Gets or sets a value indicating whether or not the framework will create instances of + dynamically generated proxy classes whenever it creates an instance of an entity type. + Note that even if proxy creation is enabled with this flag, proxy instances will only + be created for entity types that meet the requirements for being proxied. + Proxy creation is enabled by default. + + true if proxy creation is enabled; otherwise, false. + + + + + Gets or sets a value indicating whether tracked entities should be validated automatically when + is invoked. + The default value is true. + + + + + A non-generic version of the class. + + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Returns a new instance of the generic class for the given + generic type for the tracked entity represented by this object. + Note that the type of the tracked entity must be compatible with the generic type or + an exception will be thrown. + + The type of the entity. + A generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + Gets InternalEntityEntry object for this DbEntityEntry instance. + + + + + Instances of this class provide access to information about and control of entities that + are being tracked by the . Use the Entity or Entities methods of + the context to obtain objects of this type. + + The type of the entity. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + Note that changing the values in the returned dictionary will not update the values in the database. + If the entity is not found in the database then null is returned. + + The store values. + + + + Reloads the entity from the database overwriting any property values with values from the database. + The entity will be in the Unchanged state after calling this method. + + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the reference (i.e. non-collection) navigation property from this + entity to another entity. + + The type of the property. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + The name of the navigation property. + An object representing the navigation property. + + + + Gets an object that represents the collection navigation property from this + entity to a collection of related entities. + + The type of elements in the collection. + An expression representing the navigation property. + An object representing the navigation property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + The name of the property. + An object representing the property. + + + + Gets an object that represents a scalar or complex property of this entity. + + The type of the property. + An expression representing the property. + An object representing the property. + + + + Gets an object that represents a complex property of this entity. + + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + The name of the complex property. + An object representing the complex property. + + + + Gets an object that represents a complex property of this entity. + + The type of the complex property. + An expression representing the complex property. + An object representing the complex property. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The name of the member. + An object representing the member. + + + + Gets an object that represents a member of the entity. The runtime type of the returned object will + vary depending on what kind of member is asked for. The currently supported member types and their return + types are: + Reference navigation property: . + Collection navigation property: . + Primitive/scalar property: . + Complex property: . + + The type of the member. + The name of the member. + An object representing the member. + + + + Returns a new instance of the non-generic class for + the tracked entity represented by this object. + + A non-generic version. + + + + Validates this instance and returns validation result. + + + Entity validation result. Possibly null if + method is overridden. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the entity. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + + The original values. + + + + An immutable representation of an Entity Data Model (EDM) model that can be used to create an + or can be passed to the constructor of a . + For increased performance, instances of this type should be cached and re-used to construct contexts. + + + + + Creates a model for the given EDM metadata model. + + The EDM metadata model. + + + + Creates an instance of ObjectContext or class derived from ObjectContext. Note that an instance + of DbContext can be created instead by using the appropriate DbContext constructor. + If a derived ObjectContext is used, then it must have a public constructor with a single + EntityConnection parameter. + The connection passed is used by the ObjectContext created, but is not owned by the context. The caller + must dispose of the connection once the context has been disposed. + + The type of context to create. + An existing connection to a database for use by the context. + + + + + Gets a cached delegate (or creates a new one) used to call the constructor for the given derived ObjectContext type. + + + + + A hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + A collection of all the properties for an underlying entity or complex object. + + + An instance of this class can be converted to an instance of the generic class + using the Cast method. + Complex properties in the underlying entity or complex object are represented in + the property values as nested instances of this class. + + + + + Initializes a new instance of the class. + + The internal dictionary. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Sets the values of this dictionary by reading values out of the given object. + The given object can be of any type. Any property on the object with a name that + matches a property name in the dictionary and can be read will be read. Other + properties will be ignored. This allows, for example, copying of properties from + simple Data Transfer Objects (DTOs). + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the value of the property just like using the indexed property getter but + typed to the type of the generic parameter. This is useful especially with + nested dictionaries to avoid writing expressions with lots of casts. + + The type of the property. + Name of the property. + The value of the property. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the internal dictionary. + + The internal dictionary. + + + + A non-generic version of the class. + + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns the equivalent generic object. + + The type of entity on which the member is declared. + The type of the property. + The equivalent generic object. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Gets the backing this object as an . + + The internal member entry. + + + + Instances of this class are returned from the Reference method of + and allow operations such as loading to + be performed on the an entity's reference navigation properties. + + The type of the entity to which this property belongs. + The type of the property. + + + + Creates a from information in the given . + Use this method in preference to the constructor since it may potentially create a subclass depending on + the type of member represented by the InternalCollectionEntry instance. + + The internal reference entry. + The new entry. + + + + Initializes a new instance of the class. + + The internal entry. + + + + Loads the entity from the database. + Note that if the entity already exists in the context, then it will not overwritten with values from the database. + + + + + Returns the query that would be used to load this entity from the database. + The returned query can be modified using LINQ to perform filtering or operations in the database. + + A query for the entity. + + + + Returns a new instance of the non-generic class for + the navigation property represented by this object. + + A non-generic version. + + + + Gets the property name. + + The property name. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references. + + The current value. + + + + Gets a value indicating whether the entity has been loaded from the database. + + true if the entity is loaded; otherwise, false. + + + + Gets the underlying as an . + + The internal member entry. + + + + The to which this navigation property belongs. + + An entry for the entity that owns this navigation property. + + + + Represents an entity used to store metadata about an EDM in the database. + + + + + Attempts to get the model hash calculated by Code First for the given context. + This method will return null if the context is not being used in Code First mode. + + The context. + The hash string. + + + + Gets or sets the ID of the metadata entity, which is currently always 1. + + The id. + + + + Gets or sets the model hash which is used to check whether the model has + changed since the database was created from it. + + The model hash. + + + + This attribute can be applied to either an entire derived class or to + individual or properties on that class. When applied + any discovered or properties will still be included + in the model but will not be automatically initialized. + + + + + Generic wrapper around to allow results to be + returned as generic + + The type of the element. + + + + Executes the query and returns an enumerator for the elements. + + An object that can be used to iterate through the elements. + + + + Executes the query and returns an enumerator for the elements. + + + An object that can be used to iterate through the elements. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns false. + + false. + + + + Implements ICachedMetadataWorkspace for a Code First model. + + + + + Represents an object that holds a cached copy of a MetadataWorkspace and optionally the + assemblies containing entity types to use with that workspace. + + + + + Gets the MetadataWorkspace, potentially lazily creating it if it does not already exist. + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + Builds and stores the workspace based on the given code first configuration. + + The code first EDM model. + + + + Gets the . + If the workspace is not compatible with the provider manifest obtained from the given + connection then an exception is thrown. + + The connection to use to create or check SSDL provider info. + The workspace. + + + + The default container name for code first is the container name that is set from the DbModelBuilder + + + + + The list of assemblies that contain entity types for this workspace, which may be empty, but + will never be null. + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + + + + + Encapsulates information read from the application config file that specifies a database initializer + and allows that initializer to be dynamically applied. + + + + + Initializes a new instance of the class. + + The key from the entry in the config file. + The value from the enrty in the config file. + + + + Uses the context type and initializer type specified in the config to create an initializer instance + and set it with the DbDbatabase.SetInitializer method. + + + + + Reads all initializers from the application config file and sets them using the Database class. + + + + + The methods here are called from multiple places with an ObjectContext that may have + been created in a variety of ways and ensure that the same code is run regardless of + how the context was created. + + + + + Used a delegate to do the actual creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual checking/creation once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + Note however that a context obtained from only a connection will have no model and so + will result in an empty database. + + + + + Used a delegate to do the actual existence check once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Used a delegate to do the actual check/delete once an ObjectContext has been obtained. + This is factored in this way so that we do the same thing regardless of how we get to + having an ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given set of entity types and DbSet initializer delegate. + + + + + The entity types part of the pair. + + + + + The DbSet properties initializer part of the pair. + + + + + Static helper methods only. + + + + + Checks whether the given value is null and throws ArgumentNullException if it is. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface null-checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Checks whether the given string is null, empty, or just whitespace, and throws appropriately + if the check fails. + This method should only be used in places where Code Contracts are compiled out in the + release build but we still need public surface checking, such as where a public + abstract class is implemented by an internal concrete class. + + + + + Given two key values that may or may not be byte arrays, this method determines + whether or not they are equal. For non-binary key values, this is equivalent + to Object.Equals. For binary keys, it is by comparison of every byte in the + arrays. + + + + + Provides a standard helper method for quoting identifiers + + Identifier to be quoted. Does not validate that this identifier is valid. + Quoted string + + + + Checks the given string which might be a database name or a connection string and determines + whether it should be treated as a name or connection string. Currently, the test is simply + whether or not the string contains an '=' character--if it does, then it should be treated + as a connection string. + + The name or connection string. + true if the string should be treated as a connection string; false if it should be treated as a name. + + + + Determines whether the given string should be treated as a database name directly (it contains no '='), + is in the form name=foo, or is some other connection string. If it is a direct name or has name=, then + the name is extracted and the method returns true. + + The name or connection string. + The name. + True if a name is found; false otherwise. + + + + Determines whether the given string is a full EF connection string with provider, provider connection string, + and metadata parts, or is is instead some other form of connection string. + + The name or connection string. + true if the given string is an EF connection string; otherwise, false. + + + + + Parses a property selector expression used for the expression-based versions of the Property, Collection, Reference, + etc methods on and + classes. + + The type of the entity. + The type of the property. + The property. + Name of the method. + Name of the param. + The property name. + + + + Called recursively to parse an expression tree representing a property path such + as can be passed to Include or the Reference/Collection/Property methods of . + This involves parsing simple property accesses like o => o.Products as well as calls to Select like + o => o.Products.Select(p => p.OrderLines). + + The expression to parse. + The expression parsed into an include path, or null if the expression did not match. + True if matching succeeded; false if the expression could not be parsed. + + + + Gets a cached dictionary mapping property names to property types for all the properties + in the given type. + + + + + Gets a dictionary of compiled property setter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Used by the property setter delegates to throw for attempts to set null onto + non-nullable properties or otherwise go ahead and set the property. + + + + + Gets a dictionary of compiled property getter delegates for the underlying types. + The dictionary is cached for the type in the app domain. + + + + + Creates a new with the NoTracking merge option applied. + The query object passed in is not changed. + + The query. + A new query with NoTracking applied. + + + + Converts to + + + Name of the property being validated with ValidationAttributes. Null for type-level validation. + + + ValidationResults instances to be converted to instances. + + + An created based on the + . + + + class contains a property with names of properties the error applies to. + On the other hand each applies at most to a single property. As a result for + each name in ValidationResult.MemberNames one will be created (with some + exceptions for special cases like null or empty .MemberNames or null names in the .MemberNames). + + + + + Calculates a "path" to a property. For primitive properties on an entity type it is just the + name of the property. Otherwise it is a dot separated list of names of the property and all + its ancestor properties starting from the entity. + + Property for which to calculate the path. + Dot separated path to the property. + + + + Gets names of the property and its ancestor properties as enumerable walking "bottom-up". + + Property for which to get the segments. + Names of the property and its ancestor properties. + + + + Gets an type for the given element type. + + Type of the element. + The collection type. + + + + Creates a database name given a type derived from DbContext. This handles nested and + generic classes. No attempt is made to ensure that the name is not too long since this + is provider specific. If a too long name is generated then the provider will throw and + the user must correct by specifying their own name in the DbContext constructor. + + Type of the context. + The database name to use. + + + + Creates a clone of the given that has the same connection and + loaded metadata as the original but a new, empty, state manager. + + The original. + The clone. + + + + Finds the assemblies that were used for loading o-space types in the source context + and loads those assemblies in the destination context. + + The source. + The destination. + + + + A local (in-memory) view of the entities in a DbSet. + This view contains Added entities and does not contain Deleted entities. The view extends + from and hooks up events between the collection and the + state manager to keep the view in sync. + + The type of the entity. + + + + Initializes a new instance of the class for entities + of the given generic type in the given internal context. + + The internal context. + + + + Called by the base class when the collection changes. + This method looks at the change made to the collection and reflects those changes in the + state manager. + + The instance containing the event data. + + + + Handles events from the state manager for entities entering, leaving, or being marked as deleted. + The local view is kept in sync with these changes. + + The sender. + The instance containing the event data. + + + + Clears the items by calling remove on each item such that we get Remove events that + can be tracked back to the state manager, rather than a single Reset event that we + cannot deal with. + + + + + Adds a contains check to the base implementation of InsertItem since we can't support + duplicate entities in the set. + + The index at which to insert. + The item to insert. + + + + Returns a cached binding list implementation backed by this ObservableCollection. + + The binding list. + + + + Service used to search for instance properties on a DbContext class that can + be assigned a DbSet instance. Also, if the the property has a public setter, + then a delegate is compiled to set the property to a new instance of DbSet. + All of this information is cached per app domain. + + + + + Creates a set discovery service for the given derived context. + + + + + Processes the given context type to determine the DbSet or IDbSet + properties and collect root entity types from those properties. Also, delegates are + created to initialize any of these properties that have public setters. + If the type has been processed previously in the app domain, then all this information + is returned from a cache. + + A dictionary of potential entity type to the list of the names of the properties that used the type. + + + + Calls the public setter on any property found to initialize it to a new instance of DbSet. + + + + + Registers the entities and their entity set name hints with the given . + + The model builder. + + + + Returns false if SuppressDbSetInitializationAttribute is found on the property or the class, otherwise + returns true. + + + + + Determines whether or not an instance of DbSet/ObjectSet can be assigned to a property of the given type. + + The type to check. + The entity type of the DbSet/ObjectSet that can be assigned, or null if no set type can be assigned. + + + + + A EagerInternalConnection object wraps an already existing DbConnection object. + + + + + InternalConnection objects manage DbConnections. + Two concrete base classes of this abstract interface exist: + and . + + + + + IInternalConnection objects manage DbConnections. + Two concrete implementations of this interface exist--LazyInternalConnection and EagerInternalConnection. + + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Returns the underlying DbConnection. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if the connection contains model info; otherwise, false. + + + + Gets or sets the underlying object. No initialization is done when the + connection is obtained, and it can also be set to null. + + The underlying connection. + + + + Creates a new EagerInternalConnection that wraps an existing DbConnection. The existing DbConnection will not + be disposed when the EagerInternalConnection is disposed. + + An existing connection. + If set to true then the underlying connection should be disposed when this object is disposed. + + + + Dispose the existing connection is the original caller has specified that it should be disposed + by the framework. + + + + + An is an where the + instance that it wraps is set immediately at construction time rather than being created lazily. In this case + the internal context may or may not own the instance but will only dispose it + if it does own it. + + + + + An underlies every instance of and wraps an + instance. + The also acts to expose necessary information to other parts of the design in a + controlled manner without adding a lot of internal methods and properties to the + class itself. + Two concrete classes derive from this abstract class - and + . + + + + + Initializes the object with its owner. + + The owner . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Creates a new temporary based on the same metadata and connection as the real + and sets it as the context to use DisposeTempObjectContext is called. + This allows this internal context and its DbContext to be used for transient operations + such as initializing and seeding the database, after which it can be thrown away. + This isolates the real from any changes made and and saves performed. + + + + + If a temporary ObjectContext was set with UseTempObjectContext, then this method disposes that context + and returns this internal context and its DbContext to using the real ObjectContext. + + + + + This method returns true if the context has a model hash and the database contains a model hash + and these hashes match. This indicates that the model used to create the database is the same + as the current model and so the two can be used together. + + If set to true then an exception will be thrown if no + model metadata is found either in the model associated with the context or in the database + itself. If set to false then this method will return true if metadata is + not found. + True if the model hash in the context and the database match; false otherwise. + + + + Queries the database for a model hash and returns it if found or returns null if the table + or the row doesn't exist in the database. + + The model hash, or null if not found. + + + + Saves the model hash from the context to the database. + + + + + Performs the initialization action that may result in a and + handle the exception to provide more meaning to the user. + + The action. + + + + Registers for the ObjectStateManagerChanged event on the underlying ObjectStateManager. + This is a virtual method on this class so that it can be mocked. + + The event handler. + + + + Checks whether or not the given object is in the context in any state other than Deleted. + This is a virtual method on this class so that it can be mocked. + + The entity. + true if the entity is in the context and not deleted; otherwise false. + + + + Saves all changes made in this context to the underlying database. + + The number of objects written to the underlying database. + + + + Runs the Code First pipeline to create a that can then be used to create + an EDMX. This method throws if the context: + was created based on an existing + or was created from information in an existing + or is being used in Model/Database First mode. + This method always runs the full Code First pipeline, including calling OnModelCreating, even if + the pipeline has already been run. + + The builder. + + + + Initializes this instance, which means both the context is initialized and the underlying + database is initialized. + + + + + Initializes the underlying ObjectContext but does not cause the database to be initialized. + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the if one has been set for this context type. + Calling this method will always cause the initializer to run even if the database is marked + as initialized. + + + + + Disposes the context. Override the DisposeContext method to perform + additional work when disposing. + + + + + Performs additional work to dispose a context. The default implementation + does nothing. + + + + + Calls DetectChanges on the underlying if AutoDetectChangesEnabled is + true or if force is set to true. + + if set to true then DetectChanges is called regardless of the value of AutoDetectChangesEnabled. + + + + Returns the DbSet instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Returns the non-generic instance for the given entity type. + This property is virtual and returns to that it can be mocked. + + The entity type for which a set should be returned. + A set for the given entity type. + + + + Creates an internal set using an app domain cached delegate. + + Type of the entity. + The set. + + + + Returns the entity set and the base type for that entity set for the given type. + This method does o-space loading if required and throws if the type is not in the model. + + The entity type to lookup. + The entity set and base type pair. + + + + Checks whether or not the given entity type is mapped in the model. + + The entity type to lookup. + True if the type is mapped as an entity; false otherwise. + + + + Gets the local entities of the type specified from the state manager. That is, all + Added, Modified, and Unchanged entities of the given type. + + The type of entity to get. + The entities. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + The type of the element. + The SQL. + The parameters. + The query results. + + + + Executes the given SQL query against the database backing this context. The results are not materialized as + entities or tracked. + + Type of the element. + The SQL. + The parameters. + The query results. + + + + Calls the generic ExecuteSqlQuery but with a non-generic return type so that it + has the correct signature to be used with CreateDelegate above. + + + + + Executes the given SQL command against the database backing this context. + + The SQL. + The parameters. + The return value from the database. + + + + Gets the underlying for the given entity, or returns null if the entity isn't tracked by this context. + This method is virtual so that it can be mocked. + + The entity. + The state entry or null. + + + + Gets the underlying objects for all entities tracked by + this context. + This method is virtual so that it can be mocked. + + State entries for all tracked entities. + + + + Gets the underlying objects for all entities of the given + type tracked by this context. + This method is virtual so that it can be mocked. + + The type of the entity. + State entries for all tracked entities of the given type. + + + + Helper method that gets the underlying objects for all entities that + match the given predicate. + + + + + Wraps the given in either a or + a depending on the actual exception type and the state + entries involved. + + The update exception. + A new exception wrapping the given exception. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of the entity. + The new entity instance. + + + + Uses the underlying context to create an entity such that if the context is configured + to create proxies and the entity is suitable then a proxy instance will be returned. + This method is virtual so that it can be mocked. + + The type of entity to create. + The new entity instance. + + + + This method is used by CreateDelegate to transform the CreateObject method with return type TEntity + into a method with return type object which matches the required type of the delegate. + + + + + Throws if the context has been disposed. + + + + + Checks whether or not the internal cache of types to entity sets has been initialized, + and initializes it if necessary. + + + + + Performs o-space loading for the type and returns false if the type is not in the model. + + + + + Performs o-space loading for the type and throws if the type is not in the model. + + Type of the entity. + + + + Returns true if the given entity type does not have EdmEntityTypeAttribute but is in + an assembly that has EdmSchemaAttribute. This indicates mixing of POCO and EOCO in the + same assembly, which is something that we don't support. + + + + + Determines whether or not the given clrType is mapped to a complex type. Assumes o-space loading has happened. + + + + + Updates the cache of types to entity sets either for the first time or after potentially + doing some o-space loading. + + + + + The public context instance that owns this internal context. + + + + + Returns the underlying . + + + + + Gets the temp object context, or null if none has been set. + + The temp object context. + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + + + + + Gets or sets a value indicating whether DetectChanges is called automatically in the API. + + + + + Gets or sets a value indicating whether to validate entities when is called. + + + + + True if the context has been disposed. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + Gets the DatabaseOperations instance to use to perform Create/Delete/Exists operations + against the database. + Note that this virtual property can be mocked to help with unit testing. + + + + + Gets instance used to create validators and validation contexts. + This property is virtual to allow mocking. + + + + + Constructs an for an already existing . + + The owner . + The existing . + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Throws an exception since creating a from a context created using + an existing is not supported. + + This method never returns. + + + + Does nothing, since the already exists. + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Does nothing since the database is always considered initialized if the was created + from an existing . + + + + + Disposes the context. The underlying is also disposed if it is owned. + + + + + Returns the underlying . + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + The connection underlying this context. + + + + + Gets or sets a value indicating whether lazy loading is enabled. This is just a wrapper + over the same flag in the underlying . + + + + + Gets or sets a value indicating whether proxy creation is enabled. This is just a wrapper + over the same flag in the underlying ObjectContext. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given EntitySet and BaseType. + + + + + The EntitySet part of the pair. + + + + + The BaseType part of the pair. + + + + + Helper class that extends Tuple to give the Item1 and Item2 properties more meaningful names. + + + + + Creates a new pair of the given database initializer delegate and a flag + indicating whether or not it is locked. + + + + + The initializer delegate. + + + + + A flag indicating whether or not the initializer is locked and should not be changed. + + + + + Represents a raw SQL query against the context for any type where the results are never + associated with an entity set and are never tracked. + + + + + Represents a raw SQL query against the context that may be for entities in an entity set + or for some other non-entity element type. + + + + + Initializes a new instance of the class. + + The SQL. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Throws an exception indicating that binding directly to a store query is not supported. + + + Never returns; always throws. + + + + + Returns a that contains the SQL string that was set + when the query was created. The parameters are not included. + + + A that represents this instance. + + + + + Gets the SQL query string, + + The SQL query. + + + + Gets the parameters. + + The parameters. + + + + Returns false. + + false. + + + + Initializes a new instance of the class. + + The internal context. + Type of the element. + The SQL. + The parameters. + + + + Returns this query since it can never be a tracking query. + + This instance. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Represents a raw SQL query against the context for entities in an entity set. + + + + + Initializes a new instance of the class. + + The set. + The SQL. + if set to true then the entities will not be tracked. + The parameters. + + + + If the query is would track entities, then this method returns a new query that will + not track entities. + + A no-tracking query. + + + + Executes the query and returns an enumerator for the results. + + The query results. + + + + Gets a value indicating whether this instance is set to track entities or not. + + + true if this instance is no-tracking; otherwise, false. + + + + + A LazyInternalConnection object manages information that can be used to create a DbConnection object and + is responsible for creating that object and disposing it. + + + + + Creates a new LazyInternalConnection. The DbConnection object will be created lazily on demand and will be + disposed when the LazyInternalConnection is disposed. + + Either the database name or a connection string. + + + + Creates an from metadata in the connection. This method must + only be called if ConnectionHasModel returns true. + + The newly created context. + + + + Disposes the underlying DbConnection. + Note that dispose actually puts the LazyInternalConnection back to its initial state such that + it can be used again. + + + + + Creates the underlying (which may actually be an ) + if it does not already exist. + + + + + Searches the app.config/web.config file for a connection that matches the given name. + The connection might be a store connection or an EF connection. + + The connection name. + True if a connection from the app.config file was found and used. + + + + Returns the underlying DbConnection, creating it first if it does not already exist. + + + + + Returns a key consisting of the connection type and connection string. + If this is an EntityConnection then the metadata path is included in the key returned. + + + + + + Gets a value indicating whether the connection is an EF connection which therefore contains + metadata specifying the model, or instead is a store connection, in which case it contains no + model info. + + true if connection contain model info; otherwise, false. + + + + A is a concrete type that will lazily create the + underlying when needed. The created is owned by the + internal context and will be disposed when the internal context is disposed. + + + + + Constructs a for the given owner that will be initialized + on first use. + + The owner . + Responsible for creating a connection lazily when the context is used for the first time. + The model, or null if it will be created by convention + + + + Returns the underlying without causing the underlying database to be created + or the database initialization strategy to be executed. + This is used to get a context that can then be used for database creation/initialization. + + + + + Saves all changes made in this context to the underlying database, but only if the + context has been initialized. If the context has not been initialized, then this + method does nothing because there is nothing to do; in particular, it does not + cause the context to be initialized. + + The number of objects written to the underlying database. + + + + Disposes the context. The underlying is also disposed. + The connection to the database ( object) is also disposed if it was created by + the context, otherwise it is not disposed. + + + + + Initializes the underlying . + + + + + Creates an immutable, cacheable representation of the model defined by this builder. + This model can be used to create an or can be passed to a + constructor to create a for this model. + + + + + + Creates and configures the instance that will be used to build the + . + + The builder. + + + + Runs the Code First pipeline to create a that can then be used to create + an EDMX. This method throws if the context: + was created from information in an existing + or is being used in Model/Database First mode. + This method always runs the full Code First pipeline, including calling OnModelCreating, even if + the pipeline has already been run. + + The builder. + + + + Marks the database as having been initialized without actually running the . + + + + + Runs the unless it has already been run or there + is no initializer for this context type in which case this method does nothing. + + + + + Performs some action (which may do nothing) in such a way that it is guaranteed only to be run + once for the model and connection in this app domain, unless it fails by throwing an exception, + in which case it will be re-tried next time the context is initialized. + + The action. + + + + Returns the underlying . + + + + + An SHA256 hash of the store model (SSDL) that can be used later to check if the model has changed or not. + Note that this is currently only supported for Code First. + + + + + The actually being used, which may be the + temp context for initialization or the real context. + + + + + The connection underlying this context. Accessing this property does not cause the context + to be initialized, only its connection. + + + + + Gets the default database initializer to use for this context if no other has been registered. + For code first this property returns a instance. + For database/model first, this property returns null. + + The default initializer. + + + + Gets or sets a value indicating whether lazy loading is enabled. + If the exists, then this property acts as a wrapper over the flag stored there. + If the has not been created yet, then we store the value given so we can later + use it when we create the . This allows the flag to be changed, for example in + a DbContext constructor, without it causing the to be created. + + + + + Gets or sets a value indicating whether proxy creation is enabled. + If the ObjectContext exists, then this property acts as a wrapper over the flag stored there. + If the ObjectContext has not been created yet, then we store the value given so we can later + use it when we create the ObjectContext. This allows the flag to be changed, for example in + a DbContext constructor, without it causing the ObjectContext to be created. + + + + + Extends to create a sortable binding list that stays in + sync with an underlying . That is, when items are added + or removed from the binding list, they are added or removed from the ObservableCollecion, and + vice-versa. + + The list element type. + + + + An extended BindingList implementation that implements sorting. + This class was adapted from the LINQ to SQL class of the same name. + + The element type. + + + + Initializes a new instance of the class with the + the given underlying list. Note that sorting is dependent on having an actual + rather than some other ICollection implementation. + + The list. + + + + Applies sorting to the list. + + The property to sort by. + The sort direction. + + + + Stops sorting. + + + + + Gets a value indicating whether this list is sorted. + + + true if this instance is sorted; otherwise, false. + + + + + Gets the sort direction. + + The sort direction. + + + + Gets the sort property being used to sort. + + The sort property. + + + + Returns true indicating that this list supports sorting. + + true. + + + + Implements comparing for the implementation. + + + + + Initializes a new instance of the class + for sorting the list. + + The property to sort by. + The sort direction. + + + + Compares two instances of items in the list. + + The left item to compare. + The right item to compare. + + + + + Determines whether this instance can sort for the specified type. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using IComparable. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Determines whether this instance can sort for the specified type using ToString. + + The type. + + true if this instance can sort for the specified type; otherwise, false. + + + + + Initializes a new instance of a binding list backed by the given + + The obervable collection. + + + + Creates a new item to be added to the binding list. + + The new item. + + + + Cancels adding of a new item that was started with AddNew. + + Index of the item. + + + + Removes all items from the binding list and underlying ObservableCollection. + + + + + Ends the process of adding a new item that was started with AddNew. + + Index of the item. + + + + Inserts the item into the binding list at the given index. + + The index. + The item. + + + + Removes the item at the specified index. + + The index. + + + + Sets the item into the list at the given position. + + The index to insert at. + The item. + + + + Event handler to update the binding list when the underlying observable collection changes. + + The sender. + Data indicating how the collection has changed. + + + + Adds the item to the underlying observable collection. + + The item. + + + + Removes the item from the underlying from observable collection. + + The item. + + + + A wrapper around EntityKey that allows key/values pairs that have null values to + be used. This allows Added entities with null key values to be searched for in + the ObjectStateManager. + + + + The key name/key value pairs, where some key values may be null + + + + Creates a new WrappedEntityKey instance. + + The entity set that the key belongs to. + The fully qualified name of the given entity set. + The key values, which may be null or contain null values. + The name of the parameter passed for keyValue by the user, which is used when throwing exceptions. + + + + True if any of the key values are null, which means that the EntityKey will also be null. + + + + + An actual EntityKey, or null if any of the key values are null. + + + + + The key name/key value pairs of the key, in which some of the key values may be null. + + + + + A concrete implementation of used for properties of complex objects. + + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for all internal entries that represent different kinds of properties. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The member metadata. + + + + Validates this property. + + A sequence of validation errors for this property. Empty if no errors. Never null. + + + + Creates a new non-generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbMemberEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets the property name. + The property is virtual to allow mocking. + + The property name. + + + + Gets or sets the current value of the navigation property. + + The current value. + + + + Gets the internal entity entry property belongs to. + This property is virtual to allow mocking. + + The internal entity entry. + + + + Gets the entry metadata. + + The entry metadata. + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. If this is a property of an entity, then this method returns + true if the property is modified. If this is a property of a complex object, then + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + If this is a property of an entity, then this method marks it as modified. + If this is a property of a complex object, then this method marks the top-level + complex property as modified. + + + + + Throws if the user attempts to set a complex property to null. + + The value. + + + + Sets the given value directly onto the underlying entity object. + + The value. + True if the property had a setter that we could attempt to call; false if no setter was available. + + + + Sets the property value, potentially by setting individual nested values for a complex + property. + + The value. + + + + Gets an internal object representing a scalar or complex property of this property, + which must be a mapped complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity or complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity or complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + A delegate that reads the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + A delegate that sets the value of this property. + May be null if there is no way to set the value due to missing accessors on the type. + + + + + Gets or sets the original value. + Note that complex properties are returned as objects, not property values. + + + + + Gets or sets the current value. + Note that complex properties are returned as objects, not property values. + Also, for complex properties, the object returned is the actual complex object from the entity + and setting the complex object causes the actual object passed to be set onto the entity. + + The current value. + + + + Gets or sets a value indicating whether this property is modified. + + + + + Gets the property metadata. + + The property metadata. + + + + Initializes a new instance of the class. + + The parent property entry. + The property metadata. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of a complex object + this method returns true if the top-level complex property on the entity is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of a complex object this method marks the top-level + complex property as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent complex property. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent complex property. + That is, the original values that contains the value for this property. + + The parent original values. + + + + Contains metadata about a member of an entity type or complex type. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the name of the property. + + The name. + + + + Gets the type of the entity or complex object that on which the member is declared. + + The type that the member is declared on. + + + + Gets the type of element for the property, which for non-collection properties + is the same as the MemberType and which for collection properties is the type + of element contained in the collection. + + The type of the element. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The types of member entries supported. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true this is a collection nav prop. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry which will always be null for navigation entries. + The new entry. + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + The internal class used to implement and + . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Base class for and + containing common code for collection and reference navigation property entries. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Calls Load on the underlying . + + + + + Uses CreateSourceQuery on the underlying to create a query for this + navigation property. + + + + + Gets the navigation property value from the object. + + The entity. + The navigation property value. + + + + Validates that the owning entity entry is associated with an underlying and + is not just wrapping a non-attached entity. + If the entity is not detached, then the RelatedEnd for this navigation property is obtained. + + + + + Calls IsLoaded on the underlying . + + + + + Gets the related end, which will be null if the entity is not being tracked. + + The related end. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + This property is virtual so that it can be mocked. + + The current value. + + + + Gets a delegate that can be used to get the value of the property directly from the entity. + Returns null if the property does not have an accessible getter. + + The getter delegate, or null. + + + + Gets a delegate that can be used to set the value of the property directly on the entity. + Returns null if the property does not have an accessible setter. + + The setter delegate, or null. + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + Since for a collection the related end is an , it means + that the internal representation of the navigation property is just the related end. + + The entity. + The navigation property value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Creates a new generic backed by this internal entry. + The actual subtype of the DbCollectionEntry created depends on the metadata of this internal entry. + + The type of the entity. + The type of the element. + The new entry. + + + + Creates a object for the given entity type + and collection element type. + + The type of the entity. + The type of the property. + Type of the element. + The set. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + A concrete implementation of used for properties of entities. + + + + + Initializes a new instance of the class. + + The internal entry. + The property info. + + + + Creates a delegate that will get the value of this property. + + The delegate. + + + + Creates a delegate that will set the value of this property. + + The delegate. + + + + Returns true if the property of the entity that this property is ultimately part + of is set as modified. Since this is a property of an entity this method returns + true if the property is modified. + + True if the entity property is modified. + + + + Sets the property of the entity that this property is ultimately part of to modified. + Since this is a property of an entity this method marks it as modified. + + + + + Returns parent property, or null if this is a property on the top-level entity. + + + + + Gets the current values of the parent entity. + That is, the current values that contains the value for this property. + + The parent current values. + + + + Gets the original values of the parent entity. + That is, the original values that contains the value for this property. + + The parent original values. + + + + The internal class used to implement , + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal entity entry. + The navigation metadata. + + + + Gets the navigation property value from the object. + For reference navigation properties, this means getting the value from the + object. + + The entity. + The navigation property value. + + + + Sets the navigation property value onto the object. + For reference navigation properties, this means setting the value onto the + object. + + The entity. + The value. + + + + Sets the given value on the given which must be an + . + This method is setup in such a way that it can easily be used by CreateDelegate without any + dynamic code generation needed. + + The type of the related entity. + The entity reference. + The value. + + + + Creates a new non-generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The new entry. + + + + Creates a new generic backed by this internal entry. + The runtime type of the DbMemberEntry created will be or a subtype of it. + + The type of the entity. + The type of the property. + The new entry. + + + + Gets or sets the current value of the navigation property. The current value is + the entity that the navigation property references or the collection of references + for a collection property. + + The current value. + + + + Contains metadata for a property of a complex object or entity. + + + + + Initializes a new instance of the class. + + The type that the property is declared on. + Type of the property. + The property name. + if set to true the property is mapped in the EDM. + if set to true the property is a complex property. + + + + Validates that the given name is a property of the declaring type (either on the CLR type or in the EDM) + and that it is a complex or scalar property rather than a nav property and then returns metadata about + the property. + + The internal context. + The type that the property is declared on. + The type of property requested, which may be 'object' if any type can be accepted. + Name of the property. + Metadata about the property, or null if the property does not exist or is a navigation property. + + + + Creates a new the runtime type of which will be + determined by the metadata. + + The entity entry to which the member belongs. + The parent property entry if the new entry is nested, otherwise null. + The new entry. + + + + Gets a value indicating whether this is a complex property. + That is, not whether or not this is a property on a complex object, but rather if the + property itself is a complex property. + + + true if this instance is complex; otherwise, false. + + + + + Gets the type of the member for which this is metadata. + + The type of the member entry. + + + + Gets a value indicating whether this instance is mapped in the EDM. + + true if this instance is mapped; otherwise, false. + + + + Gets the type of the member, which for collection properties is the type + of the collection rather than the type in the collection. + + The type of the member. + + + + An implementation of that represents a clone of another + dictionary. That is, all the property values have been been copied into this dictionary. + + + + + The internal class used to implement . + This internal class allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context with which the entity of complex object is associated. + The type of the entity or complex object. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Implemented by subclasses to get the dictionary item for a given property name. + Checking that the name is valid should happen before this method is called such + that subclasses do not need to perform the check. + + Name of the property. + An item for the given name. + + + + Creates an object of the underlying type for this dictionary and hydrates it with property + values from this dictionary. + + The properties of this dictionary copied into a new object. + + + + Creates an instance of the underlying type for this dictionary, which may either be an entity type (in which + case CreateObject on the context is used) or a non-entity type (in which case the empty constructor is used.) + In either case, app domain cached compiled delegates are used to do the creation. + + + + + Sets the values of this dictionary by reading values out of the given object. + The given object must be of the type that this dictionary is based on. + + The object to read values from. + + + + Creates a new dictionary containing copies of all the properties in this dictionary. + Changes made to the new dictionary will not be reflected in this dictionary and vice versa. + + A clone of this dictionary. + + + + Sets the values of this dictionary by reading values from another dictionary. + The other dictionary must be based on the same type as this dictionary, or a type derived + from the type for this dictionary. + + The dictionary to read values from. + + + + Gets the dictionary item for the property with the given name. + This method checks that the given name is valid. + + The property name. + The item. + + + + Sets the value of the property only if it is different from the current value and is not + an invalid attempt to set a complex property. + + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + Gets or sets the value of the property with the specified property name. + The value may be a nested instance of this class. + + The property name. + The value of the property. + + + + Gets the entity type of complex type that this dictionary is based on. + + The type of the object underlying this dictionary. + + + + Gets the internal context with which the underlying entity or complex type is associated. + + The internal context. + + + + Gets a value indicating whether the object for this dictionary is an entity or a complex object. + + true if this this is a dictionary for an entity; false if it is a dictionary for a complex object. + + + + Initializes a new instance of the class by copying + values from the given dictionary. + + The dictionary to clone. + If non-null, then the values for the new dictionary are taken from this record rather than from the original dictionary. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Represents an item in an representing a property name/value. + + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + true If this instance represents a complex property; otherwise, false. + + + + Gets the type of the underlying property. + + The property type. + + + + Initializes a new instance of the class. + + The name. + The value. + The type. + If set to true this item represents a complex property. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + An implementation of that is based on an existing + instance. + + + + + Initializes a new instance of the class. + + The internal context. + The type. + The data record. + If set to true this is a dictionary for an entity, otherwise it is a dictionary for a complex object. + + + + Gets the dictionary item for a given property name. + + Name of the property. + An item for the given name. + + + + Gets the set of names of all properties in this dictionary as a read-only set. + + The property names. + + + + An implementation of for an item in a . + + + + + Initializes a new instance of the class. + + The data record. + The ordinal. + The value. + + + + Gets or sets the value of the property represented by this item. + + The value. + + + + Gets the name of the property. + + The name. + + + + Gets a value indicating whether this item represents a complex property. + + + true If this instance represents a complex property; otherwise, false. + + + + + Gets the type of the underlying property. + + The property type. + + + + This is version of an internal interface that already exists in System.Data.Entity that + is implemented by . Using this interface allows state + entries to be mocked for unit testing. The plan is to remove this version of the + interface and use the one in System.Data.Entity once we roll into the framework. + Note that some members may need to be added to the interface in the framework when + we combine the two. + + + + + The internal class used to implement + and . + This internal class contains all the common implementation between the generic and non-generic + entry classes and also allows for a clean internal factoring without compromising the public API. + + + + + Initializes a new instance of the class. + + The internal context. + The state entry. + + + + Initializes a new instance of the class for an + entity which may or may not be attached to the context. + + The internal context. + The entity. + + + + Queries the database for copies of the values of the tracked entity as they currently exist in the database. + + The store values. + + + + Appends a query for the properties in the entity to the given string builder that is being used to + build the eSQL query. This method may be called recursively to query for all the sub-properties of + a complex property. + + The query builder. + The qualifier with which to prefix each property name. + The dictionary that acts as a template for the properties to query. + + + + Validates that a dictionary can be obtained for the state of the entity represented by this entry. + + The method name being used to request a dictionary. + The state that is invalid for the request being processed. + + + + Calls Refresh with StoreWins on the underlying state entry. + + + + + Gets an internal object representing a reference navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null if any type can be accepted. + The entry. + + + + Gets an internal object representing a collection navigation property. + This method is virtual to allow mocking. + + The navigation property. + The type of entity requested, which may be 'object' or null f any type can be accepted. + The entry. + + + + Gets an internal object representing a navigation, scalar, or complex property. + This method is virtual to allow mocking. + + Name of the property. + The type of entity requested, which may be 'object' if any type can be accepted. + The entry. + + + + Gets an internal object representing a scalar or complex property. + This method is virtual to allow mocking. + + The property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Gets an internal object representing a scalar or complex property. + The property may be a nested property on the given . + + The parent property entry, or null if this is a property directly on the entity. + Name of the property. + The property split out into its parts. + The type of object requested, which may be null or 'object' if any type can be accepted. + if set to true then the found property must be a complex property. + The entry. + + + + Checks that the given property name is a navigation property and is either a reference property or + collection property according to the value of requireCollection. + + + + + Gets metadata for the given property if that property is a navigation property or returns null + if it is not a navigation property. + + Name of the property. + Navigation property metadata or null. + + + + Gets the type of entity or entities at the target end of the given navigation property. + + The navigation property. + The CLR type of the entity or entities at the other end. + + + + Gets the related end for the navigation property with the given name. + + The navigation property. + + + + + Uses EDM metadata to validate that the property name exists in the model and represents a scalar or + complex property or exists in the CLR type. + This method is public and virtual so that it can be mocked. + + The property name. + The type on which the property is declared. + The type of object requested, which may be 'object' if any type can be accepted. + Metadata for the property. + + + + Splits the given property name into parts delimited by dots. + + Name of the property. + The parts of the name. + + + + Validates that this entry is associated with an underlying and + is not just wrapping a non-attached entity. + + + + + Validates entity represented by this entity entry. + This method is virtual to allow mocking. + + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + containing validation result. Never null. + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Determines whether the specified is equal to this instance. + Two instances are considered equal if they are both entries for + the same entity on the same . + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the tracked entity. + This property is virtual to allow mocking. + + The entity. + + + + Gets or sets the state of the entity. + + The state. + + + + Gets the current property values for the tracked entity represented by this object. + This property is virtual to allow mocking. + + The current values. + + + + Gets the original property values for the tracked entity represented by this object. + The original values are usually the entity's property values as they were when last queried from + the database. + This property is virtual to allow mocking. + + The original values. + + + + Checks whether or not this entry is associated with an underlying or + is just wrapping a non-attached entity. + + + + + Gets the type of the entity being tracked. + + The type of the entity. + + + + Gets the c-space entity type for this entity from the EDM. + + + + + Gets the underlying object state entry. + + + + + Gets the internal context. + + The internal context. + + + + An implementation of that wraps an existing set but makes + it read-only. + + + + + + Initializes a new instance of the class wrapped around + another existing set. + + The existing set. + + + + This is a temporary adapter class that wraps an and + presents it as an . This class will be removed once + we roll into the System.Data.Entity assembly. See + for more details. + + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the element. + + + + Creates a new query that will be backed by the given internal query object. + + The backing query. + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + An instance of this internal class is created whenever an instance of the public + class is needed. This allows the public surface to be non-generic, while the runtime type created + still implements . + + The type of the entity. + + + + Creates a new set that will be backed by the given internal set. + + The internal set. + + + + Creates an instance of this class. This method is used with CreateDelegate to cache a delegate + that can create a generic instance without calling MakeGenericType every time. + + + The internal set to wrap, or null if a new internal set should be created. + The set. + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + See comments in . + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the underlying internal query object. + + The internal query. + + + + Gets the underlying internal set. + + The internal set. + + + + See comments in . + + + + + A LINQ expression visitor that finds uses with equivalent + instances. + + + + + Replaces calls to DbContext.Set() with an expression for the equivalent . + + The node to replace. + A new node, which may have had the replacement made. + + + + Replaces a or property with a constant expression + for the underlying . + + The node to replace. + A new node, which may have had the replacement made. + + + + Processes the fields in each constant expression and replaces instances with + the underlying ObjectQuery instance. This handles cases where the query has a closure + containing values. + + + + + Gets a value from the given member, or returns null + if the member doesn't contain a DbContext instance. + + The expression for the object for the member, which may be null for a static member. + The member. + The context or null. + + + + Gets the instance from the given instance or static member, returning null + if the member does not contain a DbContext instance. + + The member. + The value of the object to get the instance from, or null if the member is static. + The context instance or null. + + + + Takes a or and creates an expression + for the underlying . + + + + + Takes a or and extracts the underlying . + + + + + A non-generic interface implemented by that allows operations on + any query object without knowing the type to which it applies. + + + + + An interface implemented by . + + The type of the element. + + + + A non-generic interface implemented by that allows operations on + any set object without knowing the type to which it applies. + + + + + An interface implemented by . + + + + + An InternalQuery underlies every instance of DbSet and DbQuery. It acts to lazily initialize a InternalContext as well + as an ObjectQuery and EntitySet the first time that it is used. The InternalQuery also acts to expose necessary + information to other parts of the design in a controlled manner without adding a lot of internal methods and + properties to the DbSet and DbQuery classes themselves. + + The type of entity to query for. + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Creates a new internal query based on the information in an existing query together with + a new underlying ObjectQuery. + + + + + Resets the query to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + The underlying InternalContext. + + + + + The underlying ObjectQuery. + + + + + The underlying ObjectQuery. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + The IQueryable element type. + + + + + Creates a new query that will be backed by the given InternalContext. + + The backing context. + + + + Resets the set to its uninitialized state so that it will be re-lazy initialized the next + time it is used. This allows the ObjectContext backing a DbContext to be switched out. + + + + + Finds an entity with the given primary key values. + If an entity with the given primary key values exists in the context, then it is + returned immediately without making a request to the store. Otherwise, a request + is made to the store for an entity with the given primary key values and this entity, + if found, is attached to the context and returned. If no entity is found in the + context or the store, then null is returned. + + + The ordering of composite key values is as defined in the EDM, which is in turn as defined in + the designer, by the Code First fluent API, or by the DataMember attribute. + + The values of the primary key for the entity to be found. + The entity found, or null. + Thrown if multiple entities exist in the context with the primary key values given. + Thrown if the type of entity is not part of the data model for this context. + Thrown if the types of the key values do not match the types of the key values for the entity type to be found. + Thrown if the context has been disposed. + + + + Finds an entity in the state manager with the given primary key values, or returns null + if no such entity can be found. This includes looking for Added entities with the given + key values. + + + + + Finds an entity in the store with the given primary key values, or returns null + if no such entity can be found. This code is adapted from TryGetObjectByKey to + include type checking in the query. + + + + + Attaches the given entity to the context underlying the set. That is, the entity is placed + into the context in the Unchanged state, just as if it had been read from the database. + + + Attach is used to repopulate a context with an entity that is known to already exist in the database. + SaveChanges will therefore not attempt to insert an attached entity into the database because + it is assumed to already be there. + Note that entities that are already in the context in some other state will have their state set + to Unchanged. Attach is a no-op if the entity is already in the context in the Unchanged state. + This method is virtual so that it can be mocked. + + The entity to attach. + + + + Adds the given entity to the context underlying the set in the Added state such that it will + be inserted into the database when SaveChanges is called. + + + Note that entities that are already in the context in some other state will have their state set + to Added. Add is a no-op if the entity is already in the context in the Added state. + This method is virtual so that it can be mocked. + + The entity to add. + + + + Marks the given entity as Deleted such that it will be deleted from the database when SaveChanges + is called. Note that the entity must exist in the context in some other state before this method + is called. + + + Note that if the entity exists in the context in the Added state, then this method + will cause it to be detached from the context. This is because an Added entity is assumed not to + exist in the database such that trying to delete it does not make sense. + This method is virtual so that it can be mocked. + + The entity to remove. + + + + This method checks whether an entity is already in the context. If it is, then the state + is changed to the new state given. If it isn't, then the action delegate is executed to + either Add or Attach the entity. + + A delegate to Add or Attach the entity. + The new state to give the entity if it is already in the context. + The entity. + Name of the method. + + + + Creates a new instance of an entity for the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The entity instance, which may be a proxy. + + + + Creates a new instance of an entity for the type of this set or for a type derived + from the type of this set. + Note that this instance is NOT added or attached to the set. + The instance returned will be a proxy if the underlying context is configured to create + proxies and the entity type meets the requirements for creating a proxy. + + The type of entity to create. + The entity instance, which may be a proxy. + + + + Performs lazy initialization of the underlying ObjectContext, ObjectQuery, and EntitySet objects + so that the query can be used. + This method is virtual so that it can be mocked. + + + + + Creates an underlying for this set. + + if set to true then the query is set to be no-tracking. + The query. + + + + Returns a representation of the underlying query, equivalent + to ToTraceString on ObjectQuery. + + + The query string. + + + + + Updates the underlying ObjectQuery with the given include path. + + The include path. + A new query containing the defined include path. + + + + Returns a new query where the entities returned will not be cached in the . + + A new query with NoTracking applied. + + + + Executes the given SQL query against the database materializing entities into the entity set that + backs this set. + + The SQL quey. + if true then the entities are not tracked, otherwise they are. + The parameters. + The query results. + + + + Gets the enumeration of this query causing it to be executed against the store. + + An enumerator for the query + + + + Gets the ObservableCollection representing the local view for the set based on this query. + + + + + The underlying ObjectQuery. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet name, quoted for ESQL. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying EntitySet. Accessing this property will trigger lazy initialization of the query. + + + + + The base type for the underlying entity set. Accessing this property will trigger lazy initialization of the query. + + + + + The underlying InternalContext. Accessing this property will trigger lazy initialization of the query. + + + + + The LINQ query expression. + + + + + The LINQ query provider for the underlying . + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned + are always instances of when the generic CreateQuery method is + used and are instances of when the non-generic CreateQuery method + is used. This provider is associated with non-generic objects. + + + + + A wrapping query provider that performs expression transformation and then delegates + to the provider. The objects returned are always instances + of . This provider is associated with generic objects. + + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a where T is determined + from the element type of the ObjectQuery. + + + + + By default, calls the same method on the wrapped provider. + + + + + By default, calls the same method on the wrapped provider. + + + + + Performs expression replacement and then delegates to the wrapped provider to create an + . + + + + + Wraps the given as a where T is determined + from the element type of the ObjectQuery. + + + + + Gets the internal context. + + The internal context. + + + + Creates a provider that wraps the given provider. + + The provider to wrap. + + + + Performs expression replacement and then delegates to the wrapped provider before wrapping + the returned as a . + + + + + Delegates to the wrapped provider except returns instances of . + + + + + Instances of this class are used internally to create constant expressions for + that are inserted into the expression tree to replace references to + and . + + The type of the element. + + + + Private constructor called by the Create factory method. + + The query. + + + + Factory method called by CreateDelegate to create an instance of this class. + + The query, which must be a generic object of the expected type. + A new instance. + + + + The public property expected in the LINQ expression tree. + + The query. + + + + Validates a property of a given EDM complex type. + + + This is a composite validator for a complex property of an entity. + + + + + Validates a property of a given EDM property type. + + + This is a composite validator for a property of an entity or a complex type. + + + + + Simple validators for the corresponding property. + + + + + Name of the property the validator was created for. + + + + + Creates an instance of for a given EDM property. + + The EDM property name. + Validators used to validate the given property. + + + + Validates a property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Simple validators for the corresponding property. + + + + + Gets the name of the property the validator was created for. + + + + + The complex type validator. + + + + + Creates an instance of for a given complex property. + + The complex property name. + Validators used to validate the given property. + Complex type validator. + + + + Validates a complex property. + + Validation context. Never null. + Property to validate. Never null. + Validation errors as . Empty if no errors. Never null. + + + + + Validator used to validate a property of a given EDM ComplexType. + + + This is a composite validator. + + + + + Validator used to validate an entity of a given EDM Type. + + + This is a composite validator for an EDM Type. + + + + + Creates an instance for a given EDM type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + Protected so it doesn't appear on EntityValidator. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Returns a validator for a child property. + + Name of the child property for which to return a validator. + + Validator for a child property. Possibly null if there are no validators for requested property. + + + + + Creates an instance for a given EDM complex type. + + Property validators. + Type level validators. + + + + Validates an instance. + + Entity validation context. Must not be null. + The entry for the complex property. Null if validating an entity. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Contains information needed to validate an entity or its properties. + + + + + The entity being validated or the entity that owns the property being validated. + + + + + Initializes a new instance of EntityValidationContext class. + + + The entity being validated or the entity that owns the property being validated. + + + External contexts needed for validation. + + + + + External context needed for validation. + + + + + Gets the entity being validated or the entity that owns the property being validated. + + + + + Validator used to validate an entity of a given EDM EntityType. + + + This is a top level, composite validator. This is also an entry point to getting an entity + validated as validation of an entity is always started by calling Validate method on this type. + + + + + Creates an instance for a given EDM entity type. + + Property validators. + Entity type level validators. + + + + Validates an entity. + + Entity validation context. Must not be null. + instance. Never null. + + + + Validates type properties. Any validation errors will be added to + collection. + + + Validation context. Must not be null. + + + Collection of validation errors. Any validation errors will be added to it. + + The entry for the complex property. Null if validating an entity. + + Note that will be modified by this method. Errors should be only added, + never removed or changed. Taking a collection as a modifiable parameter saves a couple of memory allocations + and a merge of validation error lists per entity. + + + + + Builds validators based on s specified on entity CLR types and properties + as well as based on presence of implementation on entity and complex + type CLR types. It's not sealed and not static for mocking purposes. + + + + + Builds an for the given . + + The entity entry to build the validator for. + Whether the currently processed type is the target type or one of the ancestor types. + + + for the given . Possibly null + if no validation has been specified for this entity type. + + + + + Builds the validator for a given and the corresponding + . + + The CLR type that corresponds to the EDM complex type. + The EDM complex type that type level validation is built for. + A for the given complex type. May be null if no validation specified. + + + + Extracted method from BuildEntityValidator and BuildComplexTypeValidator + + + + + Build validators for the and the corresponding + or . + + Properties to build validators for. + Non-navigation EDM properties. + Navigation EDM properties. + A list of validators. Possibly empty, never null. + + + + Builds a for the given and the corresponding + . If the property is a complex type, type level validators will be built here as + well. + The CLR property to build the validator for. + The EDM property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds a for the given transient . + + The CLR property to build the validator for. + + for the given . Possibly null + if no validation has been specified for this property. + + + + + Builds s for given that derive from + . + + Attributes used to build validators. + + A list of s built from . + Possibly empty, never null. + + + + + Returns all non-static non-indexed CLR properties from the . + + The CLR to get the properties from. + + A collection of CLR properties. Possibly empty, never null. + + + + + Builds validators based on the facets of : + * If .Nullable facet set to false adds a validator equivalent to the RequiredAttribute + * If the .MaxLength facet is specified adds a validator equivalent to the MaxLengthAttribute. + However the validator isn't added if .IsMaxLength has been set to true. + + The CLR property to build the facet validators for. + The property for which facet validators will be created + A collection of validators. + + + + Contracts for abstract class. + + + + + Validates entities or complex types implementing IValidatableObject interface. + + + + + Display attribute used to specify the display name for an entity or complex property. + + + + + Validates an entity or a complex type implementing IValidatableObject interface. + This method is virtual to allow mocking. + + Validation context. Never null. + + Property to validate. Null if this is the entity that will be validated. Never null if this + is the complex type that will be validated. + + Validation error as . Empty if no errors. Never null. + + + Note that is used to figure out what needs to be validated. If it not null the complex + type will be validated otherwise the entity will be validated. + Also if this is an IValidatableObject complex type but the instance (.CurrentValue) is null we won't validate + anything and will not return any errors. The reason for this is that Validation is supposed to validate using + information the user provided and not some additional implicit rules. (ObjectContext will throw for operations + that involve null complex properties). + + + + + Validates a property, complex property or an entity using validation attributes the property + or the complex/entity type is decorated with. + + + Note that this class is used for validating primitive properties using attributes declared on the property + (property level validation) and complex properties and entities using attributes declared on the type + (type level validation). + + + + + Display attribute used to specify the display name for a property or entity. + + + + + Validation attribute used to validate a property or an entity. + + + + + Creates an instance of class. + + + Validation attribute used to validate a property or an entity. + + + + + Validates a property or an entity. + + Validation context. Never null. + Property to validate. Null for entity validation. Not null for property validation. + + + Validation errors as . Empty if no errors, never null. + + + + + Used to cache and retrieve generated validators and to create context for validating entities or properties. + + + + + Collection of validators keyed by the entity CLR type. Note that if there's no validation for a given type + it will be associated with a null validator. + + + + + Initializes a new instance of class. + + + + + Returns a validator to validate . + + Entity the validator is requested for. + + to validate . Possibly null if no validation + has been specified for the entity. + + + + + Returns a validator to validate . + + Navigation property the validator is requested for. + + Validator to validate . Possibly null if no validation + has been specified for the requested property. + + + + + Gets a validator for the . + + Entity validator. + Property to get a validator for. + + Validator to validate . Possibly null if there is no validation for the + . + + + For complex properties this method walks up the type hierarchy to get to the entity level and then goes down + and gets a validator for the child property that is an ancestor of the property to validate. If a validator + returned for an ancestor is null it means that there is no validation defined beneath and the method just + propagates (and eventually returns) null. + + + + + Creates for . + + Entity entry for which a validation context needs to be created. + User defined dictionary containing additional info for custom validation. This parameter is optional and can be null. + An instance of class. + + + + + Allows configuration to be performed for an complex type in a model. + + A ComplexTypeConfiguration can be obtained via the ComplexType method on + or a custom type derived from ComplexTypeConfiguration + can be registered via the Configurations property on . + + The complex type to be configured. + + + + Allows configuration to be performed for a type in a model. + + The type to be configured. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + The type of the property being configured. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Configures a property that is defined on this type. + + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to configure the property. + + + + Excludes a property from the model so that it will not be mapped to the database. + + The type of the property to be ignored. + + A lambda expression representing the property to be configured. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + + + + Initializes a new instance of ComplexTypeConfiguration + + + + + Allows the conventions used by a instance to be customized. + Currently removal of one or more default conventions is the only supported operation. + The default conventions can be found in the System.Data.Entity.Conventions namespace. + + + + + Disables a convention for the . + The default conventions that are available for removal can be found in the System.Data.Entity.Conventions namespace. + + The type of the convention to be disabled. + + + + Moves a foreign key constraint from oldTable to newTable and updates column references + + + + + Move any FK constraints that are now completely in newTable and used to refer to oldColumn + + + + + Configures a database column used to store a string values. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the column to allow the maximum length supported by the database provider. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + + Configures the column to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be variable length. + Columns are variable length by default. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be optional. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to be required. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column. + + Name of the database provider specific data type. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column. + + The order that this column should appear in the database table. + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures the column to support Unicode string content. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the column supports Unicode string content. + + + Value indicating if the column supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the column. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringColumnConfiguration instance so that multiple calls can be chained. + + + + Base class for performing configuration of a relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the table and column mapping of a relationship that does not expose foreign key properties in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the name of the column(s) for the foreign key. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table name and schema that the foreign key column(s) reside in. + The table that is specified must already be mapped for the entity type. + + If you want the foreign key(s) to reside in their own table then use the Map method + on to perform + entity splitting to create the table with just the primary key property. Foreign keys can + then be added to the table via this method. + + Name of the table. + Schema of the table. + The same ForeignKeyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the table and column mapping of a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the join table name for the relationship. + + Name of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the join table name and schema for the relationship. + + Name of the table. + Schema of the table. + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the left foreign key. + The left foreign key represents the navigation property specified in the HasMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the column(s) for the right foreign key. + The right foreign key represents the navigation property specified in the WithMany call. + + + The foreign key column names. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the target entity type. + + The same ManyToManyAssociationMappingConfiguration instance so that multiple calls can be chained. + + + + Configures a relationship that can only support foreign key properties that are not exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures a relationship that can support cascade on delete functionality. + + + + + Configures cascade delete to be on for the relationship. + + + + + Configures whether or not cascade delete is on for the relationship. + + Value indicating if cascade delete is on or not. + + + + Configures the relationship to use foreign key property(s) that are not exposed in the object model. + The column(s) and table can be customized by specifying a configuration action. + If an empty configuration action is specified then column name(s) will be generated by convention. + If foreign key properties are exposed in the object model then use the HasForeignKey method. + Not all relationships support exposing foreign key properties in the object model. + + Action that configures the foreign key column(s) and table. + + A configuration object that can be used to further configure the relationship. + + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a property with length facets for an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Used to configure a primitive property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same PrimitivePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + Properties are variable length by default. + + The same LengthPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to allow the maximum length supported by the database provider. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be a row version in the database. + The actual data type will vary depending on the database provider being used. + Setting the property to be a row version will automatically configure it to be an + optimistic concurrency token. + + The same BinaryPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision of the property. + If the database provider does not support precision for the data type of the column then the value is ignored. + + Precision of the property. + The same DateTimePropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + properties are required by default. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the precision and scale of the property. + + The precision of the property. + The scale of the property. + The same DecimalPropertyConfiguration instance so that multiple calls can be chained. + + + + Used to configure a property of an entity type or complex type. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the property to allow the maximum length supported by the database provider. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to have the specified maximum length. + + + The maximum length for the property. + Setting 'null' will remove any maximum length restriction from the property and a default length will be used for the database column.. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be fixed length. + Use HasMaxLength to set the length that the property is fixed to. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be variable length. + properties are variable length by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be optional. + The database column used to store this property will be nullable. + properties are optional by default. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be required. + The database column used to store this property will be non-nullable. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures how values for the property are generated by the database. + + + The pattern used to generate values for the property in the database. + Setting 'null' will remove the database generated pattern facet from the property. + Setting 'null' will cause the same runtime behavior as specifying 'None'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to be used as an optimistic concurrency token. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property is to be used as an optimistic concurrency token. + + + Value indicating if the property is a concurrency token or not. + Specifying 'null' will remove the concurrency token facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the name of the database column used to store the property. + + The name of the column. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the data type of the database column used to store the property. + + Name of the database provider specific data type. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the order of the database column used to store the property. + This method is also used to specify key ordering when an entity type has a composite key. + + The order that this column should appear in the database table. + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures the property to support Unicode string content. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Configures whether or not the property supports Unicode string content. + + + Value indicating if the property supports Unicode string content or not. + Specifying 'null' will remove the Unicode facet from the property. + Specifying 'null' will cause the same runtime behavior as specifying 'false'. + + The same StringPropertyConfiguration instance so that multiple calls can be chained. + + + + Convention to process instances of found on foreign key properties in the model. + + + + + Base class for conventions that process CLR attributes found in the model. + + The type of member to look for. + The type of the configuration to look for. + The type of the attribute to look for. + + + + Convention to process instances of found on properties in the model. + + + + + Convention to add a cascade delete to the join table from both tables involved in a many to many relationship. + + + + + Convention to ensure an invalid/unsupported mapping is not created when mapping inherited properties + + + + + Convention to set precision to 18 and scale to 2 for decimal properties. + + + + + Configures a relationship that can support foreign key properties that are exposed in the object model. + This configuration functionality is available via the Code First Fluent API, see . + + The dependent entity type. + + + + Configures the relationship to use foreign key property(s) that are exposed in the object model. + If the foreign key property(s) are not exposed in the object model then use the Map method. + + The type of the key. + + A lambda expression representing the property to be used as the foreign key. + If the foreign key is made up of multiple properties then specify an anonymous type including the properties. + When using multiple foreign key properties, the properties must be specified in the same order that the + the primary key properties were configured for the principal entity type. + + A configuration object that can be used to further configure the relationship. + + + + Configures a many:many relationship. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the foreign key column(s) and table used to store the relationship. + + Action that configures the foreign key column(s) and table. + + + + Configures the table and column mapping for an entity type or a sub-set of properties from an entity type. + This configuration functionality is available via the Code First Fluent API, see . + + The entity type to be mapped. + + + + Configures the properties that will be included in this mapping fragment. + If this method is not called then all properties that have not yet been + included in a mapping fragment will be configured. + + An anonymous type including the properties to be mapped. + + A lambda expression to an anonymous type that contains the properties to be mapped. + C#: t => new { t.Id, t.Property1, t.Property2 } + VB.Net: Function(t) New From { p.Id, t.Property1, t.Property2 } + + + + + Re-maps all properties inherited from base types. + + When configuring a derived type to be mapped to a separate table this will cause all properties to + be included in the table rather than just the non-inherited properties. This is known as + Table per Concrete Type (TPC) mapping. + + + + + Configures the table name to be mapped to. + + Name of the table. + + + + Configures the table name and schema to be mapped to. + + Name of the table. + Schema of the table. + + + + Configures the discriminator column used to differentiate between types in an inheritance hierarchy. + + The name of the discriminator column. + A configuration object to further configure the discriminator column and values. + + + + Configures the discriminator condition used to differentiate between types in an inheritance hierarchy. + + The type of the property being used to discriminate between types. + + A lambda expression representing the property being used to discriminate between types. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object to further configure the discriminator condition. + + + + Configures a condition used to discriminate between types in an inheritance hierarchy based on the values assigned to a property. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the condition to require a value in the property. + + Rows that do not have a value assigned to column that this property is stored in are + assumed to be of the base type of this entity type. + + + + + Configures a discriminator column used to differentiate between types in an inheritance hierarchy. + This configuration functionality is available via the Code First Fluent API, see . + + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + Type of the discriminator value. + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Configures the discriminator value used to identify the entity type being + configured from other types in the inheritance hierarchy. + + The value to be used to identify the entity type. + A configuration object to configure the column used to store discriminator values. + + + + Allows derived configuration classes for entities and complex types to be registered with a . + + + Derived configuration classes are created by deriving from + or and using a type to be included in the model as the generic + parameter. + + Configuration can be performed without creating derived configuration classes via the Entity and ComplexType + methods on . + + + + + Adds an to the . + Only one can be added for each type in a model. + + The entity type being configured. + The entity type configuration to be added. + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + Adds an to the . + Only one can be added for each type in a model. + + The complex type being configured. + The complex type configuration to be added + The same ConfigurationRegistrar instance so that multiple calls can be chained. + + + + True if this configuration can be replaced in the model configuration, false otherwise + This is only set to true for configurations that are registered automatically via the DbContext + + + + + Configures a many relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be many:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be many:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Initializes configurations in the ModelConfiguration so that configuration data + is in a single place + + + + + Configures an optional relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be optional:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:required without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + A lambda expression representing the navigation property on the other end of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be optional:optional without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Convention to process instances of found on properties in the model + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on navigation properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on primitive properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to process instances of found on types in the model. + + + + + Convention to process instances of found on properties in the model. + + + + + Convention to move primary key properties to appear first. + + + + + Convention to apply column ordering specified via or the API. + + + + + Convention to convert any data types that were explicitly specified, via data annotations or API, + to be lower case. The default SqlClient provider is case sensitive and requires data types to be lower case. This convention + allows the and API to be case insensitive. + + + + + Convention to set a default maximum length of 128 for properties whose type supports length facets. + + + + + Convention to set the entity set name to be a pluralized version of the entity type name. + + + + + This class provide service for both the singularization and pluralization, it takes the word pairs + in the ctor following the rules that the first one is singular and the second one is plural. + + + + + Factory method for PluralizationService. Only support english pluralization. + Please set the PluralizationService on the System.Data.Entity.Design.EntityModelSchemaGenerator + to extend the service to other locales. + + CultureInfo + PluralizationService + + + + captalize the return word if the parameter is capitalized + if word is "Table", then return "Tables" + + + + + + + + separate one combine word in to two parts, prefix word and the last word(suffix word) + + + + + + + + return true when the word is "[\s]*" or leading or tailing with spaces + or contains non alphabetical characters + + + + + + + This method allow you to add word to internal PluralizationService of English. + If the singluar or the plural value was already added by this method, then an ArgumentException will be thrown. + + + + + + + Convention to set the table name to be a pluralized version of the entity type name. + + + + + Convention to configure the primary key(s) of the dependent entity type as foreign key(s) in a one:one relationship. + + + + + Convention to distinguish between optional and required relationships based on CLR nullability of the foreign key property. + + + + + Convention to detect primary key properties. + Recognized naming patterns in order of precedence are: + 1. 'Id' + 2. [type name]Id + Primary key detection is case insensitive. + + + + + Handles mapping from a CLR property to an EDM assocation and nav. prop. + + + + + True if the NavigationProperty's declaring type is the principal end, false if it is not, null if it is not known + + + + + Exception thrown by during model creation when an invalid model is generated. + + + + + Initializes a new instance of ModelValidationException + + + + + Initializes a new instance of ModelValidationException + + The exception message. + + + + Initializes a new instance of ModelValidationException + + The exception message. + The inner exception. + + + + Convention to detect navigation properties to be inverses of each other when only one pair + of navigation properties exists between the related types. + + + + + Convention to configure a type as a complex type if it has no primary key, no mapped base type and no navigation properties. + + + + + Convention to discover foreign key properties whose names are a combination + of the dependent navigation property name and the principal type primary key property name(s). + + + + + Allows configuration to be performed for an entity type in a model. + + An EntityTypeConfiguration can be obtained via the Entity method on + or a custom type derived from EntityTypeConfiguration + can be registered via the Configurations property on . + + + + + Initializes a new instance of EntityTypeConfiguration + + + + + Configures the primary key property(s) for this entity type. + + The type of the key. + + A lambda expression representing the property to be used as the primary key. + C#: t => t.Id + VB.Net: Function(t) t.Id + + If the primary key is made up of multiple properties then specify an anonymous type including the properties. + C#: t => new { t.Id1, t.Id2 } + VB.Net: Function(t) New From { t.Id1, t.Id2 } + + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the entity set name to be used for this entity type. + The entity set name can only be configured for the base type in each set. + + The name of the entity set. + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + + + + Configures the table name that this entity type is mapped to. + + The name of the table. + The database schema of the table. + + + + Allows advanced configuration related to how this entity type is mapped to the database schema. + By default, any configuration will also apply to any type derived from this entity type. + + Derived types can be configured via the overload of Map that configures a derived type or + by using an EntityTypeConfiguration for the derived type. + + The properties of an entity can be split between multiple tables using multiple Map calls. + + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Allows advanced configuration related to how a derived entity type is mapped to the database schema. + Calls to Map are additive, subsequent calls will not override configuration already preformed via Map. + + The derived entity type to be configured. + An action that performs configuration against an . + The same EntityTypeConfiguration instance so that multiple calls can be chained. + + + + Configures an optional relationship from this entity type. + Instances of the entity type will be able to be saved to the database without this relationship being specified. + The foreign key in the database will be nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a required relationship from this entity type. + Instances of the entity type will not be able to be saved to the database unless this relationship is specified. + The foreign key in the database will be non-nullable. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures a many relationship from this entity type. + + The type of the entity at the other end of the relationship. + + A lambda expression representing the navigation property for the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + DbModelBuilder is used to map CLR classes to a database schema. + This code centric approach to building an Entity Data Model (EDM) model is known as 'Code First'. + + + DbModelBuilder is typically used to configure a model by overriding . + You can also use DbModelBuilder independently of DbContext to build a model and then construct a + or . + The recommended approach, however, is to use OnModelCreating in as + the workflow is more intuitive and takes care of common tasks, such as caching the created model. + + Types that form your model are registered with DbModelBuilder and optional configuration can be + performed by applying data annotations to your classes and/or using the fluent style DbModelBuilder + API. + + When the Build method is called a set of conventions are run to discover the initial model. + These conventions will automatically discover aspects of the model, such as primary keys, and + will also process any data annotations that were specified on your classes. Finally + any configuration that was performed using the DbModelBuilder API is applied. + + Configuration done via the DbModelBuilder API takes precedence over data annotations which + in turn take precedence over the default conventions. + + + + + Initializes a new instance of the class. + + The process of discovering the initial model will use the set of conventions included + in the most recent version of the Entity Framework installed on your machine. + + + Upgrading to newer versions of the Entity Framework may cause breaking changes + in your application because new conventions may cause the initial model to be + configured differently. There is an alternate constructor that allows a specific + version of conventions to be specified. + + + + + Initializes a new instance of the class that will use + a specific set of conventions to discover the initial model. + + The version of conventions to be used. + + + + Excludes a type from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The type to be excluded. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Excludes a type(s) from the model. This is used to remove types from the model that were added + by convention during initial model discovery. + + The types to be excluded from the model. + The same DbModelBuilder instance so that multiple calls can be chained. + + + + Registers an entity type as part of the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same entity to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as an entity in the model and returns an object that can be used to + configure the entity. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified entity type. + + + + Registers a type as a complex type in the model and returns an object that can be used to + configure the complex type. This method can be called multiple times for the same type to + perform multiple lines of configuration. + + The type to be registered or configured. + The configuration object for the specified complex type. + + + + Creates a based on the configuration performed using this builder. + The connection is used to determine the database provider being used as this + affects the database layer of the generated model. + + Connection to use to determine provider information. + The model that was built. + + + + Creates a based on the configuration performed using this builder. + Provider information must be specified because this affects the database layer of the generated model. + For SqlClient the invariant name is 'System.Data.SqlClient' and the manifest token is the version year (i.e. '2005', '2008' etc.) + + The database provider that the model will be used with. + The model that was built. + + + + Provides access to the settings of this DbModelBuilder that deal with conventions. + + + + + Gets the for this DbModelBuilder. + The registrar allows derived entity and complex type configurations to be registered with this builder. + + + + + Convention to enable cascade delete for any required relationships. + + + + + Convention to discover foreign key properties whose names match the principal type primary key property name(s). + + + + + Convention to configure integer primary keys to be identity. + + + + + Convention to discover foreign key properties whose names are a combination + of the principal type name and the principal type primary key property name(s). + + + + + Attempt to determine the principal and dependent ends of this association. + + The following table illustrates the solution space. + + Source | Target || Prin | Dep | + -------|--------||-------|-------| + 1 | 1 || - | - | + 1 | 0..1 || Sr | Ta | + 1 | * || Sr | Ta | + 0..1 | 1 || Ta | Sr | + 0..1 | 0..1 || - | - | + 0..1 | * || Sr | Ta | + * | 1 || Ta | Sr | + * | 0..1 || Ta | Sr | + * | * || - | - | + + + + + Configures an required relationship from an entity type. + + The entity type that the relationship originates from. + The entity type that the relationship targets. + + + + Configures the relationship to be required:many with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:many without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional with a navigation property on the other side of the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:optional without a navigation property on the other side of the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the dependent and contain a foreign key to the principal. + The entity type that the relationship targets will be the principal in the relationship. + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required with a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + + An lambda expression representing the navigation property on the other end of the relationship. + C#: t => t.MyProperty + VB.Net: Function(t) t.MyProperty + + A configuration object that can be used to further configure the relationship. + + + + Configures the relationship to be required:required without a navigation property on the other side of the relationship. + The entity type being configured will be the principal in the relationship. + The entity type that the relationship targets will be the dependent and contain a foreign key to the principal. + + A configuration object that can be used to further configure the relationship. + + + + Code Contracts hook methods - Called when contracts fail. Here we detect the most common preconditions + so we can throw the correct exceptions. It also means that we can write preconditions using the + simplest Contract.Requires() form. + + + + + Returns true if a variable of this type can be assigned a null value + + + + True if a reference type or a nullable value type, + false otherwise + + + + + Exception thrown from when validating entities fails. + + + + + Initializes a new instance of DbEntityValidationException + + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + The inner exception. + + + + Initializes a new instance of DbEntityValidationException + + The exception message. + Validation results. + The inner exception. + + + + Subscribes the SerializeObjectState event. + + + + + Validation results. + + + + + Holds exception state that will be serialized when the exception is serialized. + + + + + Validation results. + + + + + Completes the deserialization. + + The deserialized object. + + + + Validation results. + + + + + Represents validation results for single entity. + + + + + Entity entry the results applies to. Never null. + + + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Creates an instance of class. + + + Entity entry the results applies to. Never null. + + + List of instances. Never null. Can be empty meaning the entity is valid. + + + + + Gets an instance of the results applies to. + + + + + Gets validation errors. Never null. + + + + + Gets an indicator if the entity is valid. + + + + + Validation error. Can be either entity or property level validation error. + + + + + Name of the invalid property. Can be null (e.g. for entity level validations) + + + + + Validation error message. + + + + + Creates an instance of . + + Name of the invalid property. Can be null. + Validation error message. Can be null. + + + + Gets name of the invalid property. + + + + + Gets validation error message. + + + + + Denotes a property used as a foreign key in a relationship. + The annotation may be placed on the foreign key property and specify the associated navigation property name, + or placed on a navigation property and specify the associated foreign key name. + + + + + Initializes a new instance of the class. + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + If a navigation property has multiple foreign keys, a comma separated list should be supplied. + + + + + If placed on a foreign key property, the name of the associated navigation property. + If placed on a navigation property, the name of the associated foreign key(s). + + + + + Specifies the inverse of a navigation property that represents the other end of the same relationship. + + + + + Initializes a new instance of the class. + + The navigation property representing the other end of the same relationship. + + + + The navigation property representing the other end of the same relationship. + + + + + Specifies the database column that a property is mapped to. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The name of the column the property is mapped to. + + + + The name of the column the property is mapped to. + + + + + The zero-based order of the column the property is mapped to. + + + + + The database provider specific data type of the column the property is mapped to. + + + + + Specifies the maximum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The maximum allowable length of array/string data. + Value must be greater than zero. + + + + + Initializes a new instance of the class. + The maximum allowable length supported by the database will be used. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or less than or equal to the specified maximum length, otherwise false + Length is zero or less than negative one. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the maximum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the maximum allowable length of the array/string data. + + + + + Specifies the minimum length of array/string data allowed in a property. + + + + + Initializes a new instance of the class. + + + The minimum allowable length of array/string data. + Value must be greater than or equal to zero. + + + + + Determines whether a specified object is valid. (Overrides ) + + + This method returns true if the is null. + It is assumed the is used if the value may not be null. + + The object to validate. + true if the value is null or greater than or equal to the specified minimum length, otherwise false + Length is less than zero. + + + + Applies formatting to a specified error message. (Overrides ) + + The name to include in the formatted string. + A localized string to describe the minimum acceptable length. + + + + Checks that Length has a legal value. Throws InvalidOperationException if not. + + + + + Gets the minimum allowable length of the array/string data. + + + + + Specifies how the database generates values for a property. + + + + + Initializes a new instance of the class. + + The pattern used to generate values for the property in the database. + + + + The pattern used to generate values for the property in the database. + + + + + The pattern used to generate values for a property in the database. + + + + + The database does not generate values. + + + + + The database generates a value when a row is inserted. + + + + + The database generates a value when a row is inserted or updated. + + + + + Denotes that a property or class should be excluded from database mapping. + + + + + Denotes that the class is a complex type. + Complex types are non-scalar properties of entity types that enable scalar properties to be organized within entities. + Complex types do not have keys and cannot be managed by the Entity Framework apart from the parent object. + + + + + Specifies the database table that a class is mapped to. + + + + + Initializes a new instance of the class. + + The name of the table the class is mapped to. + + + + The name of the table the class is mapped to. + + + + + The schema of the table the class is mapped to. + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = ResourceProvider.GetString(ResourceProvider.MyIdenfitier); + + + + + Constructs a new sys description. + + + description text. + + + + + Retrieves the description text. + + + description + + + + + AutoGenerated resource class. Usage: + + string s = EntityRes.GetString(EntityRes.MyIdenfitier); + + + + diff --git a/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js new file mode 100644 index 0000000..7bc212a --- /dev/null +++ b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.js @@ -0,0 +1,969 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* Modernizr v1.7 +* http://www.modernizr.com +* +* Developed by: +* - Faruk Ates http://farukat.es/ +* - Paul Irish http://paulirish.com/ +* +* Copyright (c) 2009-2011 +*/ + + +/* + * Modernizr is a script that detects native CSS3 and HTML5 features + * available in the current UA and provides an object containing all + * features with a true/false value, depending on whether the UA has + * native support for it or not. + * + * Modernizr will also add classes to the element of the page, + * one for each feature it detects. If the UA supports it, a class + * like "cssgradients" will be added. If not, the class name will be + * "no-cssgradients". This allows for simple if-conditionals in your + * CSS, giving you fine control over the look & feel of your website. + * + * @author Faruk Ates + * @author Paul Irish + * @copyright (c) 2009-2011 Faruk Ates. + * @contributor Ben Alman + */ + +window.Modernizr = (function(window,document,undefined){ + + var version = '1.7', + + ret = {}, + + /** + * !! DEPRECATED !! + * + * enableHTML5 is a private property for advanced use only. If enabled, + * it will make Modernizr.init() run through a brief while() loop in + * which it will create all HTML5 elements in the DOM to allow for + * styling them in Internet Explorer, which does not recognize any + * non-HTML4 elements unless created in the DOM this way. + * + * enableHTML5 is ON by default. + * + * The enableHTML5 toggle option is DEPRECATED as per 1.6, and will be + * replaced in 2.0 in lieu of the modular, configurable nature of 2.0. + */ + enableHTML5 = true, + + + docElement = document.documentElement, + docHead = document.head || document.getElementsByTagName('head')[0], + + /** + * Create our "modernizr" element that we do most feature tests on. + */ + mod = 'modernizr', + modElem = document.createElement( mod ), + m_style = modElem.style, + + /** + * Create the input element for various Web Forms feature tests. + */ + inputElem = document.createElement( 'input' ), + + smile = ':)', + + tostring = Object.prototype.toString, + + // List of property values to set for css tests. See ticket #21 + prefixes = ' -webkit- -moz- -o- -ms- -khtml- '.split(' '), + + // Following spec is to expose vendor-specific style properties as: + // elem.style.WebkitBorderRadius + // and the following would be incorrect: + // elem.style.webkitBorderRadius + + // Webkit ghosts their properties in lowercase but Opera & Moz do not. + // Microsoft foregoes prefixes entirely <= IE8, but appears to + // use a lowercase `ms` instead of the correct `Ms` in IE9 + + // More here: http://github.com/Modernizr/Modernizr/issues/issue/21 + domPrefixes = 'Webkit Moz O ms Khtml'.split(' '), + + ns = {'svg': 'http://www.w3.org/2000/svg'}, + + tests = {}, + inputs = {}, + attrs = {}, + + classes = [], + + featurename, // used in testing loop + + + + // todo: consider using http://javascript.nwbox.com/CSSSupport/css-support.js instead + testMediaQuery = function(mq){ + + var st = document.createElement('style'), + div = document.createElement('div'), + ret; + + st.textContent = mq + '{#modernizr{height:3px}}'; + docHead.appendChild(st); + div.id = 'modernizr'; + docElement.appendChild(div); + + ret = div.offsetHeight === 3; + + st.parentNode.removeChild(st); + div.parentNode.removeChild(div); + + return !!ret; + + }, + + + /** + * isEventSupported determines if a given element supports the given event + * function from http://yura.thinkweb2.com/isEventSupported/ + */ + isEventSupported = (function(){ + + var TAGNAMES = { + 'select':'input','change':'input', + 'submit':'form','reset':'form', + 'error':'img','load':'img','abort':'img' + }; + + function isEventSupported(eventName, element) { + + element = element || document.createElement(TAGNAMES[eventName] || 'div'); + eventName = 'on' + eventName; + + // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those + var isSupported = (eventName in element); + + if (!isSupported) { + // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element + if (!element.setAttribute) { + element = document.createElement('div'); + } + if (element.setAttribute && element.removeAttribute) { + element.setAttribute(eventName, ''); + isSupported = is(element[eventName], 'function'); + + // If property was created, "remove it" (by setting value to `undefined`) + if (!is(element[eventName], undefined)) { + element[eventName] = undefined; + } + element.removeAttribute(eventName); + } + } + + element = null; + return isSupported; + } + return isEventSupported; + })(); + + + // hasOwnProperty shim by kangax needed for Safari 2.0 support + var _hasOwnProperty = ({}).hasOwnProperty, hasOwnProperty; + if (!is(_hasOwnProperty, undefined) && !is(_hasOwnProperty.call, undefined)) { + hasOwnProperty = function (object, property) { + return _hasOwnProperty.call(object, property); + }; + } + else { + hasOwnProperty = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */ + return ((property in object) && is(object.constructor.prototype[property], undefined)); + }; + } + + /** + * set_css applies given styles to the Modernizr DOM node. + */ + function set_css( str ) { + m_style.cssText = str; + } + + /** + * set_css_all extrapolates all vendor-specific css strings. + */ + function set_css_all( str1, str2 ) { + return set_css(prefixes.join(str1 + ';') + ( str2 || '' )); + } + + /** + * is returns a boolean for if typeof obj is exactly type. + */ + function is( obj, type ) { + return typeof obj === type; + } + + /** + * contains returns a boolean for if substr is found within str. + */ + function contains( str, substr ) { + return (''+str).indexOf( substr ) !== -1; + } + + /** + * test_props is a generic CSS / DOM property test; if a browser supports + * a certain property, it won't return undefined for it. + * A supported CSS property returns empty string when its not yet set. + */ + function test_props( props, callback ) { + for ( var i in props ) { + if ( m_style[ props[i] ] !== undefined && ( !callback || callback( props[i], modElem ) ) ) { + return true; + } + } + } + + /** + * test_props_all tests a list of DOM properties we want to check against. + * We specify literally ALL possible (known and/or likely) properties on + * the element including the non-vendor prefixed one, for forward- + * compatibility. + */ + function test_props_all( prop, callback ) { + + var uc_prop = prop.charAt(0).toUpperCase() + prop.substr(1), + props = (prop + ' ' + domPrefixes.join(uc_prop + ' ') + uc_prop).split(' '); + + return !!test_props( props, callback ); + } + + + /** + * Tests + * ----- + */ + + tests['flexbox'] = function() { + /** + * set_prefixed_value_css sets the property of a specified element + * adding vendor prefixes to the VALUE of the property. + * @param {Element} element + * @param {string} property The property name. This will not be prefixed. + * @param {string} value The value of the property. This WILL be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_value_css(element, property, value, extra) { + property += ':'; + element.style.cssText = (property + prefixes.join(value + ';' + property)).slice(0, -property.length) + (extra || ''); + } + + /** + * set_prefixed_property_css sets the property of a specified element + * adding vendor prefixes to the NAME of the property. + * @param {Element} element + * @param {string} property The property name. This WILL be prefixed. + * @param {string} value The value of the property. This will not be prefixed. + * @param {string=} extra Additional CSS to append unmodified to the end of + * the CSS string. + */ + function set_prefixed_property_css(element, property, value, extra) { + element.style.cssText = prefixes.join(property + ':' + value + ';') + (extra || ''); + } + + var c = document.createElement('div'), + elem = document.createElement('div'); + + set_prefixed_value_css(c, 'display', 'box', 'width:42px;padding:0;'); + set_prefixed_property_css(elem, 'box-flex', '1', 'width:10px;'); + + c.appendChild(elem); + docElement.appendChild(c); + + var ret = elem.offsetWidth === 42; + + c.removeChild(elem); + docElement.removeChild(c); + + return ret; + }; + + // On the S60 and BB Storm, getContext exists, but always returns undefined + // http://github.com/Modernizr/Modernizr/issues/issue/97/ + + tests['canvas'] = function() { + var elem = document.createElement( 'canvas' ); + return !!(elem.getContext && elem.getContext('2d')); + }; + + tests['canvastext'] = function() { + return !!(ret['canvas'] && is(document.createElement( 'canvas' ).getContext('2d').fillText, 'function')); + }; + + // This WebGL test false positives in FF depending on graphics hardware. But really it's quite impossible to know + // wether webgl will succeed until after you create the context. You might have hardware that can support + // a 100x100 webgl canvas, but will not support a 1000x1000 webgl canvas. So this feature inference is weak, + // but intentionally so. + tests['webgl'] = function(){ + return !!window.WebGLRenderingContext; + }; + + /* + * The Modernizr.touch test only indicates if the browser supports + * touch events, which does not necessarily reflect a touchscreen + * device, as evidenced by tablets running Windows 7 or, alas, + * the Palm Pre / WebOS (touch) phones. + * + * Additionally, Chrome (desktop) used to lie about its support on this, + * but that has since been rectified: http://crbug.com/36415 + * + * We also test for Firefox 4 Multitouch Support. + * + * For more info, see: http://modernizr.github.com/Modernizr/touch.html + */ + + tests['touch'] = function() { + + return ('ontouchstart' in window) || testMediaQuery('@media ('+prefixes.join('touch-enabled),(')+'modernizr)'); + + }; + + + /** + * geolocation tests for the new Geolocation API specification. + * This test is a standards compliant-only test; for more complete + * testing, including a Google Gears fallback, please see: + * http://code.google.com/p/geo-location-javascript/ + * or view a fallback solution using google's geo API: + * http://gist.github.com/366184 + */ + tests['geolocation'] = function() { + return !!navigator.geolocation; + }; + + // Per 1.6: + // This used to be Modernizr.crosswindowmessaging but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['postmessage'] = function() { + return !!window.postMessage; + }; + + // Web SQL database detection is tricky: + + // In chrome incognito mode, openDatabase is truthy, but using it will + // throw an exception: http://crbug.com/42380 + // We can create a dummy database, but there is no way to delete it afterwards. + + // Meanwhile, Safari users can get prompted on any database creation. + // If they do, any page with Modernizr will give them a prompt: + // http://github.com/Modernizr/Modernizr/issues/closed#issue/113 + + // We have chosen to allow the Chrome incognito false positive, so that Modernizr + // doesn't litter the web with these test databases. As a developer, you'll have + // to account for this gotcha yourself. + tests['websqldatabase'] = function() { + var result = !!window.openDatabase; + /* if (result){ + try { + result = !!openDatabase( mod + "testdb", "1.0", mod + "testdb", 2e4); + } catch(e) { + } + } */ + return result; + }; + + // Vendors have inconsistent prefixing with the experimental Indexed DB: + // - Firefox is shipping indexedDB in FF4 as moz_indexedDB + // - Webkit's implementation is accessible through webkitIndexedDB + // We test both styles. + tests['indexedDB'] = function(){ + for (var i = -1, len = domPrefixes.length; ++i < len; ){ + var prefix = domPrefixes[i].toLowerCase(); + if (window[prefix + '_indexedDB'] || window[prefix + 'IndexedDB']){ + return true; + } + } + return false; + }; + + // documentMode logic from YUI to filter out IE8 Compat Mode + // which false positives. + tests['hashchange'] = function() { + return isEventSupported('hashchange', window) && ( document.documentMode === undefined || document.documentMode > 7 ); + }; + + // Per 1.6: + // This used to be Modernizr.historymanagement but the longer + // name has been deprecated in favor of a shorter and property-matching one. + // The old API is still available in 1.6, but as of 2.0 will throw a warning, + // and in the first release thereafter disappear entirely. + tests['history'] = function() { + return !!(window.history && history.pushState); + }; + + tests['draganddrop'] = function() { + return isEventSupported('dragstart') && isEventSupported('drop'); + }; + + tests['websockets'] = function(){ + return ('WebSocket' in window); + }; + + + // http://css-tricks.com/rgba-browser-support/ + tests['rgba'] = function() { + // Set an rgba() color and check the returned value + + set_css( 'background-color:rgba(150,255,150,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ); + }; + + tests['hsla'] = function() { + // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally, + // except IE9 who retains it as hsla + + set_css('background-color:hsla(120,40%,100%,.5)' ); + + return contains( m_style.backgroundColor, 'rgba' ) || contains( m_style.backgroundColor, 'hsla' ); + }; + + tests['multiplebgs'] = function() { + // Setting multiple images AND a color on the background shorthand property + // and then querying the style.background property value for the number of + // occurrences of "url(" is a reliable method for detecting ACTUAL support for this! + + set_css( 'background:url(//:),url(//:),red url(//:)' ); + + // If the UA supports multiple backgrounds, there should be three occurrences + // of the string "url(" in the return value for elem_style.background + + return new RegExp("(url\\s*\\(.*?){3}").test(m_style.background); + }; + + + // In testing support for a given CSS property, it's legit to test: + // `elem.style[styleName] !== undefined` + // If the property is supported it will return an empty string, + // if unsupported it will return undefined. + + // We'll take advantage of this quick test and skip setting a style + // on our modernizr element, but instead just testing undefined vs + // empty string. + + + tests['backgroundsize'] = function() { + return test_props_all( 'backgroundSize' ); + }; + + tests['borderimage'] = function() { + return test_props_all( 'borderImage' ); + }; + + + // Super comprehensive table about all the unique implementations of + // border-radius: http://muddledramblings.com/table-of-css3-border-radius-compliance + + tests['borderradius'] = function() { + return test_props_all( 'borderRadius', '', function( prop ) { + return contains( prop, 'orderRadius' ); + }); + }; + + // WebOS unfortunately false positives on this test. + tests['boxshadow'] = function() { + return test_props_all( 'boxShadow' ); + }; + + // FF3.0 will false positive on this test + tests['textshadow'] = function(){ + return document.createElement('div').style.textShadow === ''; + }; + + + tests['opacity'] = function() { + // Browsers that actually have CSS Opacity implemented have done so + // according to spec, which means their return values are within the + // range of [0.0,1.0] - including the leading zero. + + set_css_all( 'opacity:.55' ); + + // The non-literal . in this regex is intentional: + // German Chrome returns this value as 0,55 + // https://github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632 + return /^0.55$/.test(m_style.opacity); + }; + + + tests['cssanimations'] = function() { + return test_props_all( 'animationName' ); + }; + + + tests['csscolumns'] = function() { + return test_props_all( 'columnCount' ); + }; + + + tests['cssgradients'] = function() { + /** + * For CSS Gradients syntax, please see: + * http://webkit.org/blog/175/introducing-css-gradients/ + * https://developer.mozilla.org/en/CSS/-moz-linear-gradient + * https://developer.mozilla.org/en/CSS/-moz-radial-gradient + * http://dev.w3.org/csswg/css3-images/#gradients- + */ + + var str1 = 'background-image:', + str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));', + str3 = 'linear-gradient(left top,#9f9, white);'; + + set_css( + (str1 + prefixes.join(str2 + str1) + prefixes.join(str3 + str1)).slice(0,-str1.length) + ); + + return contains( m_style.backgroundImage, 'gradient' ); + }; + + + tests['cssreflections'] = function() { + return test_props_all( 'boxReflect' ); + }; + + + tests['csstransforms'] = function() { + return !!test_props([ 'transformProperty', 'WebkitTransform', 'MozTransform', 'OTransform', 'msTransform' ]); + }; + + + tests['csstransforms3d'] = function() { + + var ret = !!test_props([ 'perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective' ]); + + // Webkit’s 3D transforms are passed off to the browser's own graphics renderer. + // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in + // some conditions. As a result, Webkit typically recognizes the syntax but + // will sometimes throw a false positive, thus we must do a more thorough check: + if (ret && 'webkitPerspective' in docElement.style){ + + // Webkit allows this media query to succeed only if the feature is enabled. + // `@media (transform-3d),(-o-transform-3d),(-moz-transform-3d),(-ms-transform-3d),(-webkit-transform-3d),(modernizr){ ... }` + ret = testMediaQuery('@media ('+prefixes.join('transform-3d),(')+'modernizr)'); + } + return ret; + }; + + + tests['csstransitions'] = function() { + return test_props_all( 'transitionProperty' ); + }; + + + // @font-face detection routine by Diego Perini + // http://javascript.nwbox.com/CSSSupport/ + tests['fontface'] = function(){ + + var + sheet, bool, + head = docHead || docElement, + style = document.createElement("style"), + impl = document.implementation || { hasFeature: function() { return false; } }; + + style.type = 'text/css'; + head.insertBefore(style, head.firstChild); + sheet = style.sheet || style.styleSheet; + + var supportAtRule = impl.hasFeature('CSS2', '') ? + function(rule) { + if (!(sheet && rule)) return false; + var result = false; + try { + sheet.insertRule(rule, 0); + result = (/src/i).test(sheet.cssRules[0].cssText); + sheet.deleteRule(sheet.cssRules.length - 1); + } catch(e) { } + return result; + } : + function(rule) { + if (!(sheet && rule)) return false; + sheet.cssText = rule; + + return sheet.cssText.length !== 0 && (/src/i).test(sheet.cssText) && + sheet.cssText + .replace(/\r+|\n+/g, '') + .indexOf(rule.split(' ')[0]) === 0; + }; + + bool = supportAtRule('@font-face { font-family: "font"; src: url(data:,); }'); + head.removeChild(style); + return bool; + }; + + + // These tests evaluate support of the video/audio elements, as well as + // testing what types of content they support. + // + // We're using the Boolean constructor here, so that we can extend the value + // e.g. Modernizr.video // true + // Modernizr.video.ogg // 'probably' + // + // Codec values from : http://github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845 + // thx to NielsLeenheer and zcorpan + + // Note: in FF 3.5.1 and 3.5.0, "no" was a return value instead of empty string. + // Modernizr does not normalize for that. + + tests['video'] = function() { + var elem = document.createElement('video'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('video/ogg; codecs="theora"'); + + // Workaround required for IE9, which doesn't report video support without audio codec specified. + // bug 599718 @ msft connect + var h264 = 'video/mp4; codecs="avc1.42E01E'; + bool.h264 = elem.canPlayType(h264 + '"') || elem.canPlayType(h264 + ', mp4a.40.2"'); + + bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"'); + } + return bool; + }; + + tests['audio'] = function() { + var elem = document.createElement('audio'), + bool = !!elem.canPlayType; + + if (bool){ + bool = new Boolean(bool); + bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"'); + bool.mp3 = elem.canPlayType('audio/mpeg;'); + + // Mimetypes accepted: + // https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements + // http://bit.ly/iphoneoscodecs + bool.wav = elem.canPlayType('audio/wav; codecs="1"'); + bool.m4a = elem.canPlayType('audio/x-m4a;') || elem.canPlayType('audio/aac;'); + } + return bool; + }; + + + // Firefox has made these tests rather unfun. + + // In FF4, if disabled, window.localStorage should === null. + + // Normally, we could not test that directly and need to do a + // `('localStorage' in window) && ` test first because otherwise Firefox will + // throw http://bugzil.la/365772 if cookies are disabled + + // However, in Firefox 4 betas, if dom.storage.enabled == false, just mentioning + // the property will throw an exception. http://bugzil.la/599479 + // This looks to be fixed for FF4 Final. + + // Because we are forced to try/catch this, we'll go aggressive. + + // FWIW: IE8 Compat mode supports these features completely: + // http://www.quirksmode.org/dom/html5.html + // But IE8 doesn't support either with local files + + tests['localstorage'] = function() { + try { + return !!localStorage.getItem; + } catch(e) { + return false; + } + }; + + tests['sessionstorage'] = function() { + try { + return !!sessionStorage.getItem; + } catch(e){ + return false; + } + }; + + + tests['webWorkers'] = function () { + return !!window.Worker; + }; + + + tests['applicationcache'] = function() { + return !!window.applicationCache; + }; + + + // Thanks to Erik Dahlstrom + tests['svg'] = function(){ + return !!document.createElementNS && !!document.createElementNS(ns.svg, "svg").createSVGRect; + }; + + tests['inlinesvg'] = function() { + var div = document.createElement('div'); + div.innerHTML = ''; + return (div.firstChild && div.firstChild.namespaceURI) == ns.svg; + }; + + // Thanks to F1lt3r and lucideer + // http://github.com/Modernizr/Modernizr/issues#issue/35 + tests['smil'] = function(){ + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'animate'))); + }; + + tests['svgclippaths'] = function(){ + // Possibly returns a false positive in Safari 3.2? + return !!document.createElementNS && /SVG/.test(tostring.call(document.createElementNS(ns.svg,'clipPath'))); + }; + + + // input features and input types go directly onto the ret object, bypassing the tests loop. + // Hold this guy to execute in a moment. + function webforms(){ + + // Run through HTML5's new input attributes to see if the UA understands any. + // We're using f which is the element created early on + // Mike Taylr has created a comprehensive resource for testing these attributes + // when applied to all input types: + // http://miketaylr.com/code/input-type-attr.html + // spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary + ret['input'] = (function(props) { + for (var i = 0, len = props.length; i>BEGIN IEPP + // Enable HTML 5 elements for styling in IE. + // fyi: jscript version does not reflect trident version + // therefore ie9 in ie7 mode will still have a jScript v.9 + if ( enableHTML5 && window.attachEvent && (function(){ var elem = document.createElement("div"); + elem.innerHTML = ""; + return elem.childNodes.length !== 1; })()) { + // iepp v1.6.2 by @jon_neal : code.google.com/p/ie-print-protector + (function(win, doc) { + var elems = 'abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video', + elemsArr = elems.split('|'), + elemsArrLen = elemsArr.length, + elemRegExp = new RegExp('(^|\\s)('+elems+')', 'gi'), + tagRegExp = new RegExp('<(\/*)('+elems+')', 'gi'), + ruleRegExp = new RegExp('(^|[^\\n]*?\\s)('+elems+')([^\\n]*)({[\\n\\w\\W]*?})', 'gi'), + docFrag = doc.createDocumentFragment(), + html = doc.documentElement, + head = html.firstChild, + bodyElem = doc.createElement('body'), + styleElem = doc.createElement('style'), + body; + function shim(doc) { + var a = -1; + while (++a < elemsArrLen) + // Use createElement so IE allows HTML5-named elements in a document + doc.createElement(elemsArr[a]); + } + function getCSS(styleSheetList, mediaType) { + var a = -1, + len = styleSheetList.length, + styleSheet, + cssTextArr = []; + while (++a < len) { + styleSheet = styleSheetList[a]; + // Get css from all non-screen stylesheets and their imports + if ((mediaType = styleSheet.media || mediaType) != 'screen') cssTextArr.push(getCSS(styleSheet.imports, mediaType), styleSheet.cssText); + } + return cssTextArr.join(''); + } + // Shim the document and iepp fragment + shim(doc); + shim(docFrag); + // Add iepp custom print style element + head.insertBefore(styleElem, head.firstChild); + styleElem.media = 'print'; + win.attachEvent( + 'onbeforeprint', + function() { + var a = -1, + cssText = getCSS(doc.styleSheets, 'all'), + cssTextArr = [], + rule; + body = body || doc.body; + // Get only rules which reference HTML5 elements by name + while ((rule = ruleRegExp.exec(cssText)) != null) + // Replace all html5 element references with iepp substitute classnames + cssTextArr.push((rule[1]+rule[2]+rule[3]).replace(elemRegExp, '$1.iepp_$2')+rule[4]); + // Write iepp custom print CSS + styleElem.styleSheet.cssText = cssTextArr.join('\n'); + while (++a < elemsArrLen) { + var nodeList = doc.getElementsByTagName(elemsArr[a]), + nodeListLen = nodeList.length, + b = -1; + while (++b < nodeListLen) + if (nodeList[b].className.indexOf('iepp_') < 0) + // Append iepp substitute classnames to all html5 elements + nodeList[b].className += ' iepp_'+elemsArr[a]; + } + docFrag.appendChild(body); + html.appendChild(bodyElem); + // Write iepp substitute print-safe document + bodyElem.className = body.className; + // Replace HTML5 elements with which is print-safe and shouldn't conflict since it isn't part of html5 + bodyElem.innerHTML = body.innerHTML.replace(tagRegExp, '<$1font'); + } + ); + win.attachEvent( + 'onafterprint', + function() { + // Undo everything done in onbeforeprint + bodyElem.innerHTML = ''; + html.removeChild(bodyElem); + html.appendChild(body); + styleElem.styleSheet.cssText = ''; + } + ); + })(window, document); + } + //>>END IEPP + + // Assign private properties to the return object with prefix + ret._enableHTML5 = enableHTML5; + ret._version = version; + + // Remove "no-js" class from element, if it exists: + docElement.className = docElement.className.replace(/\bno-js\b/,'') + + ' js ' + + // Add the new classes to the element. + + classes.join( ' ' ); + + return ret; + +})(this,this.document); \ No newline at end of file diff --git a/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js new file mode 100644 index 0000000..4b4fcc1 --- /dev/null +++ b/CharityPortal/packages/Modernizr.1.7/Content/Scripts/modernizr-1.7.min.js @@ -0,0 +1,10 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +*/ +// Modernizr v1.7 www.modernizr.com +window.Modernizr=function(a,b,c){function G(){e.input=function(a){for(var b=0,c=a.length;b7)},r.history=function(){return !!(a.history&&history.pushState)},r.draganddrop=function(){return x("dragstart")&&x("drop")},r.websockets=function(){return"WebSocket"in a},r.rgba=function(){A("background-color:rgba(150,255,150,.5)");return D(k.backgroundColor,"rgba")},r.hsla=function(){A("background-color:hsla(120,40%,100%,.5)");return D(k.backgroundColor,"rgba")||D(k.backgroundColor,"hsla")},r.multiplebgs=function(){A("background:url(//:),url(//:),red url(//:)");return(new RegExp("(url\\s*\\(.*?){3}")).test(k.background)},r.backgroundsize=function(){return F("backgroundSize")},r.borderimage=function(){return F("borderImage")},r.borderradius=function(){return F("borderRadius","",function(a){return D(a,"orderRadius")})},r.boxshadow=function(){return F("boxShadow")},r.textshadow=function(){return b.createElement("div").style.textShadow===""},r.opacity=function(){B("opacity:.55");return/^0.55$/.test(k.opacity)},r.cssanimations=function(){return F("animationName")},r.csscolumns=function(){return F("columnCount")},r.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";A((a+o.join(b+a)+o.join(c+a)).slice(0,-a.length));return D(k.backgroundImage,"gradient")},r.cssreflections=function(){return F("boxReflect")},r.csstransforms=function(){return!!E(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])},r.csstransforms3d=function(){var a=!!E(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);a&&"webkitPerspective"in g.style&&(a=w("@media ("+o.join("transform-3d),(")+"modernizr)"));return a},r.csstransitions=function(){return F("transitionProperty")},r.fontface=function(){var a,c,d=h||g,e=b.createElement("style"),f=b.implementation||{hasFeature:function(){return!1}};e.type="text/css",d.insertBefore(e,d.firstChild),a=e.sheet||e.styleSheet;var i=f.hasFeature("CSS2","")?function(b){if(!a||!b)return!1;var c=!1;try{a.insertRule(b,0),c=/src/i.test(a.cssRules[0].cssText),a.deleteRule(a.cssRules.length-1)}catch(d){}return c}:function(b){if(!a||!b)return!1;a.cssText=b;return a.cssText.length!==0&&/src/i.test(a.cssText)&&a.cssText.replace(/\r+|\n+/g,"").indexOf(b.split(" ")[0])===0};c=i('@font-face { font-family: "font"; src: url(data:,); }'),d.removeChild(e);return c},r.video=function(){var a=b.createElement("video"),c=!!a.canPlayType;if(c){c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"');var d='video/mp4; codecs="avc1.42E01E';c.h264=a.canPlayType(d+'"')||a.canPlayType(d+', mp4a.40.2"'),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"')}return c},r.audio=function(){var a=b.createElement("audio"),c=!!a.canPlayType;c&&(c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"'),c.mp3=a.canPlayType("audio/mpeg;"),c.wav=a.canPlayType('audio/wav; codecs="1"'),c.m4a=a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;"));return c},r.localstorage=function(){try{return!!localStorage.getItem}catch(a){return!1}},r.sessionstorage=function(){try{return!!sessionStorage.getItem}catch(a){return!1}},r.webWorkers=function(){return!!a.Worker},r.applicationcache=function(){return!!a.applicationCache},r.svg=function(){return!!b.createElementNS&&!!b.createElementNS(q.svg,"svg").createSVGRect},r.inlinesvg=function(){var a=b.createElement("div");a.innerHTML="";return(a.firstChild&&a.firstChild.namespaceURI)==q.svg},r.smil=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"animate")))},r.svgclippaths=function(){return!!b.createElementNS&&/SVG/.test(n.call(b.createElementNS(q.svg,"clipPath")))};for(var H in r)z(r,H)&&(v=H.toLowerCase(),e[v]=r[H](),u.push((e[v]?"":"no-")+v));e.input||G(),e.crosswindowmessaging=e.postmessage,e.historymanagement=e.history,e.addTest=function(a,b){a=a.toLowerCase();if(!e[a]){b=!!b(),g.className+=" "+(b?"":"no-")+a,e[a]=b;return e}},A(""),j=l=null,f&&a.attachEvent&&function(){var a=b.createElement("div");a.innerHTML="";return a.childNodes.length!==1}()&&function(a,b){function p(a,b){var c=-1,d=a.length,e,f=[];while(++c +<# var viewModel = (EnvDTE.CodeType)Model.ViewModel; #> +public ViewResult <#= Model.Action #>() +{ +<# if (viewModel == null) { #> + return View(); +<# } else { #> + return View(new <#= viewModel.Name #> { + // Populate properties here + }); +<# } #> +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/Action.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/Action.vb.t4 new file mode 100644 index 0000000..2bd093f --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/Action.vb.t4 @@ -0,0 +1,10 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<# Dim viewModel = CType(Model.ViewModel, EnvDTE.CodeType) #> + +Public Function <#= Model.Action #>() As ViewResult +<# If viewModel Is Nothing Then #> + Return View() +<# Else #> + Return View(New <#= viewModel.Name #>()) +<# End If #> +End Function \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ActionPost.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ActionPost.cs.t4 new file mode 100644 index 0000000..c7c6e2f --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ActionPost.cs.t4 @@ -0,0 +1,11 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<# var viewModel = (EnvDTE.CodeType)Model.ViewModel; #> +[HttpPost, ActionName("<#= Model.Action #>")] +public ActionResult <#= Model.Action #>Post(<# if (viewModel != null) { #><#= viewModel.Name #> <#= viewModel.Name.ToLower() #><# } #>) +{ + if (ModelState.IsValid) { + return RedirectToAction("Index"); + } else { + return View(<# if (viewModel != null) { #><#= viewModel.Name.ToLower() #><# } #>); + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ActionPost.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ActionPost.vb.t4 new file mode 100644 index 0000000..9186f59 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ActionPost.vb.t4 @@ -0,0 +1,11 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<# Dim viewModel = CType(Model.ViewModel, EnvDTE.CodeType) #> + +")> +Public Function <#= Model.Action #>Post(<# If viewModel IsNot Nothing Then #>ByVal <#= viewModel.Name.ToLower() #> As <#= viewModel.Name #><# End If #>) As ActionResult + If ModelState.IsValid Then + Return RedirectToAction("Index") + Else + Return View(<# If viewModel IsNot Nothing Then #><#= viewModel.Name.ToLower() #><# End If #>) + End If +End Function \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/MvcScaffolding.Action.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/MvcScaffolding.Action.ps1 new file mode 100644 index 0000000..387dc96 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/MvcScaffolding.Action.ps1 @@ -0,0 +1,70 @@ +[T4Scaffolding.Scaffolder(Description = "Creates an action method, view model, and view")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$Controller, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$Action, + [string]$ViewModel, + [switch]$WithViewModel, + [switch]$Post, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$NoChildItems = $false, + [switch]$Force = $false +) + +$Controller = [System.Text.RegularExpressions.Regex]::Replace($Controller, "Controller$", "", [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) +$foundControllerType = Get-ProjectType ($Controller + "Controller") -Project $Project +if (!$foundControllerType) { return } + +# Work out what area the controller is in, since we need to put viewmodels/views in the same area +$areaMatch = [System.Text.RegularExpressions.Regex]::Match($foundControllerType.Namespace.FullName, "^(.*)\.Areas\.(.*)\.Controllers") +$areaName = if ($areaMatch.Success) { $areaMatch.Groups[2].Value } + +if ($ViewModel -or $WithViewModel) { + # First try to find an existing view model class + if ($ViewModel) { + $foundViewModel = Get-ProjectType $ViewModel -Project $Project -ErrorAction SilentlyContinue + } + # If not found or specified, try to create a new one + if (!$foundViewModel) { + if (!$ViewModel) { $ViewModel = $Action + "ViewModel" } + if ($ViewModel.Contains(".")) { $ViewModel = $ViewModel.Substring($ViewModel.LastIndexOf(".") + 1) } + + # Decide where to put the new view model class + $defaultNamespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value + $viewModelNamespace = if ($areaName) { "$defaultNamespace.Areas.$areaName.Models" } else { "$defaultNamespace.Models" } + $viewModelOutputPath = if ($areaName) { "Areas\$areaName\Models\$ViewModel" } else { "Models\$ViewModel" } + + # Actually create the view model class + Add-ProjectItemViaTemplate $viewModelOutputPath -Template ViewModel -Model @{ ClassName = $ViewModel; Namespace = $viewModelNamespace; DefaultNamespace = $defaultNamespace; } ` + -SuccessMessage "Added view model class at {0}" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force + $foundViewModel = Get-ProjectType ($viewModelNamespace + "." + $ViewModel) -Project $Project + } + + # Also import the view model namespace if not already imported + $existingImport = $foundControllerType.ProjectItem.FileCodeModel.CodeElements | ?{ ($_.Kind -eq 35) -and ($_.Namespace -eq $foundViewModel.Namespace.FullName) } + if (!$existingImport) { + $foundControllerType.ProjectItem.FileCodeModel.AddImport($foundViewModel.Namespace.FullName) | Out-Null + } +} + +# Add the action method +$template = if ($Post) { "ActionPost" } else { "Action" } +$actionMethodName = if ($Post) { $Action + "Post" } else { $Action } +Add-ClassMemberViaTemplate -Name $actionMethodName -CodeClass $foundControllerType -Template $template ` + -Model @{ Action = $Action; ViewModel = [MarshalByRefObject]$foundViewModel } ` + -SuccessMessage "Added action method $Action to $($foundControllerType.Name)" ` + -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force + +# Finally, create a view +$viewModelType = if ($foundViewModel) { $foundViewModel.FullName } else { $null } +if (!$NoChildItems) { + Scaffold View $Controller $Action -ModelType $viewModelType -Area $areaName -Force:$Force +} + +# Return info about what we did in case other scaffolders wish to consume it +return @{ + Controller = $foundControllerType; + ActionMethod = $actionMethodName; + ViewModel = $foundViewModel; +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ViewModel.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ViewModel.cs.t4 new file mode 100644 index 0000000..da2b944 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ViewModel.cs.t4 @@ -0,0 +1,13 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +using System; +using System.Collections.Generic; +using System.Linq; + +namespace <#= Model.Namespace #> +{ + public class <#= Model.ClassName #> + { + // Add properties here + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ViewModel.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ViewModel.vb.t4 new file mode 100644 index 0000000..77cb2ac --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Action/ViewModel.vb.t4 @@ -0,0 +1,7 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +<#= T4Scaffolding.Namespaces.BeginVb(Model.Namespace, Model.DefaultNamespace) #> + Public Class <#= Model.ClassName #> + ' Add properties here + End Class +<#= T4Scaffolding.Namespaces.EndVb(Model.Namespace, Model.DefaultNamespace) #> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/MvcScaffolding.ActionUnitTest.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/MvcScaffolding.ActionUnitTest.ps1 new file mode 100644 index 0000000..030ba09 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/MvcScaffolding.ActionUnitTest.ps1 @@ -0,0 +1,53 @@ +[T4Scaffolding.Scaffolder(Description = "Creates a unit test stub for an action method")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$Controller, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$Action, + [string]$ViewModel, + [switch]$WithViewModel, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +# Ensure the controller name ends with "Controller" +$Controller = [System.Text.RegularExpressions.Regex]::Replace($Controller, "Controller$", "", [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + "Controller" + +# Find the unit test project, or abort +$unitTestProject = Get-Project ($Project + ".Test") -ErrorAction SilentlyContinue +if (!$unitTestProject) { $unitTestProject = Get-Project ($Project + ".Tests") -ErrorAction SilentlyContinue } +if (!$unitTestProject) { throw "Cannot find a unit test project corresponding to project '$Project'" } + +# Ensure you've referenced System.Web.Mvc +$unitTestProject.Object.References.Add("System.Web.Mvc") | Out-Null + +# Create the test fixture class +$foundControllerClass = Get-ProjectType $Controller -Project $Project +if (!$foundControllerClass) { return } +$testClassName = $foundControllerClass.Name + "Test" +$testClassNamespace = $unitTestProject.Properties.Item("DefaultNamespace").Value +$defaultNamespace = $unitTestProject.Properties.Item("DefaultNamespace").Value +Add-ProjectItemViaTemplate $testClassName -Template TestClass -Model @{ ClassName = $testClassName; Namespace = $testClassNamespace; DefaultNamespace = $defaultNamespace; Controller = [MarshalByRefObject]$foundControllerClass } ` + -SuccessMessage "Added unit test class at {0}" -TemplateFolders $TemplateFolders -Project $unitTestProject.Name -CodeLanguage $CodeLanguage -Force:$Force + +# Add a test method to it +if ($WithViewModel -and !$ViewModel) { $ViewModel = $Action + "ViewModel" } +$foundViewModel = if ($ViewModel) { Get-ProjectType $ViewModel -Project $Project } +if ($ViewModel -and !$foundViewModel) { return } +$testClass = Get-ProjectType $testClassName -Project $unitTestProject.Name +$testMethodName = $Action + "Test" +Add-ClassMemberViaTemplate -Name $testMethodName -CodeClass $testClass -Template TestMethod -Model @{ + TestMethod = $testMethodName; + ActionMethod = $Action; + Controller = [MarshalByRefObject]$foundControllerClass; + ViewModel = [MarshalByRefObject]$foundViewModel; + } -SuccessMessage "Added unit test method $testMethodName to $($testClass.Name)" ` + -TemplateFolders $TemplateFolders -Project $unitTestProject.Name -CodeLanguage $CodeLanguage -Force:$Force + +# Also import the view model namespace if not already imported +if ($foundViewModel) { + $existingImport = $testClass.ProjectItem.FileCodeModel.CodeElements | ?{ ($_.Kind -eq 35) -and ($_.Namespace -eq $foundViewModel.Namespace.FullName) } + if (!$existingImport) { + $testClass.ProjectItem.FileCodeModel.AddImport($foundViewModel.Namespace.FullName) | Out-Null + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestClass.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestClass.cs.t4 new file mode 100644 index 0000000..0cd609a --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestClass.cs.t4 @@ -0,0 +1,15 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.VisualStudio.TestTools.UnitTesting; +using <#= ((EnvDTE.CodeType)Model.Controller).Namespace.FullName #>; + +namespace <#= Model.Namespace #> +{ + [TestClass] + public class <#= Model.ClassName #> + { + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestClass.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestClass.vb.t4 new file mode 100644 index 0000000..db62944 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestClass.vb.t4 @@ -0,0 +1,11 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +<# If CType(Model.Controller, EnvDTE.CodeType).Namespace IsNot Nothing Then #> +Imports <#= CType(Model.Controller, EnvDTE.CodeType).Namespace.FullName #> + +<# End If #> +<#= If(T4Scaffolding.Namespaces.BeginVb(Model.Namespace, Model.DefaultNamespace), "") #> + + Public Class <#= Model.ClassName #> + End Class +<#= If(T4Scaffolding.Namespaces.EndVb(Model.Namespace, Model.DefaultNamespace), "") #> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestMethod.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestMethod.cs.t4 new file mode 100644 index 0000000..c712e8c --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestMethod.cs.t4 @@ -0,0 +1,40 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ assembly name="System.Web.Mvc" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="EnvDTE" #> +<# + var viewModel = (CodeType)Model.ViewModel; + var actionMethodInfo = ((CodeType)Model.Controller).VisibleMembers().OfType().FirstOrDefault(x => x.Name == Model.ActionMethod); + var defaultActionMethodArgs = actionMethodInfo == null ? null : actionMethodInfo.Parameters.OfType().Select(x => x.Type.CodeType != null && x.Type.CodeType.Kind == vsCMElement.vsCMElementClass ? "null" : "default(" + x.Type.AsString + ")"); +#> +[TestMethod] +public void <#= Model.TestMethod #>() +{ + // Arrange + var controller = new <#= ((EnvDTE.CodeType)Model.Controller).Name #>(); + + // Act +<# if (actionMethodInfo == null) { #> + + // Assert +<# } else if (actionMethodInfo.Type.IsType()) { #> + var viewResult = controller.<#= Model.ActionMethod #>(<#= string.Join(", ", defaultActionMethodArgs.ToArray()) #>); + var viewModel = <# if (viewModel != null) { #>(<#= viewModel.Name #>)<# } #>viewResult.Model; + + // Assert + // Assert.AreEqual("expected value", viewModel.SomeProperty); +<# } else if (actionMethodInfo.Type.IsType()) { #> + var redirectToRouteResult = controller.<#= Model.ActionMethod #>(<#= string.Join(", ", defaultActionMethodArgs.ToArray()) #>); + + // Assert + //Assert.AreEqual("ActionName", redirectToRouteResult.RouteValues["action"]); +<# } else if (actionMethodInfo.Type.IsType()) { #> + var actionResult = controller.<#= Model.ActionMethod #>(<#= string.Join(", ", defaultActionMethodArgs.ToArray()) #>); + + // Assert +<# } else { #> + + // Assert +<# } #> + Assert.Inconclusive(); // Todo: Make assertions, then remove this line +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestMethod.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestMethod.vb.t4 new file mode 100644 index 0000000..05ac833 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionUnitTest/TestMethod.vb.t4 @@ -0,0 +1,42 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ assembly name="System.Web.Mvc" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="EnvDTE" #> +<# + Dim viewModel = CType(Model.ViewModel, CodeType) + Dim actionMethodInfo = CType(Model.Controller, CodeType).VisibleMembers().OfType(Of CodeFunction)().FirstOrDefault(Function(x) x.Name = Model.ActionMethod) + Dim defaultActionMethodArgs = If(actionMethodInfo Is Nothing, Nothing, System.Linq.Enumerable.Range(0, actionMethodInfo.Parameters.Count).Select(Function(x) "Nothing")) +#> + + +Public Sub <#= Model.TestMethod #>() + ' Arrange + Dim controller = New <#= CType(Model.Controller, EnvDTE.CodeType).Name #>() + + ' Act +<# If actionMethodInfo Is Nothing Then #> + + ' Assert +<# ElseIf CType(actionMethodInfo.Type, CodeTypeRef).IsType(Of System.Web.Mvc.ViewResult)() Then #> + Dim viewResult = controller.<#= Model.ActionMethod #>(<#= String.Join(", ", CType(defaultActionMethodArgs, IEnumerable(Of String))) #>) + Dim viewModel = <# If viewModel IsNot Nothing Then #>CType(viewResult.Model, <#= viewModel.Name #>)<# Else #>viewResult.Model<# End If #> + + ' Assert + ' Assert.AreEqual("expected value", viewModel.SomeProperty) +<# ElseIf CType(actionMethodInfo.Type, CodeTypeRef).IsType(Of System.Web.Mvc.RedirectToRouteResult)() Then #> + Dim redirectToRouteResult = controller.<#= Model.ActionMethod #>(<#= String.Join(", ", CType(defaultActionMethodArgs, IEnumerable(Of String))) #>) + + ' Assert + 'Assert.AreEqual("ActionName", redirectToRouteResult.RouteValues("action")) +<# ElseIf CType(actionMethodInfo.Type, CodeTypeRef).IsType(Of System.Web.Mvc.ActionResult)() Then #> + Dim actionResult = controller.<#= Model.ActionMethod #>(<#= String.Join(", ", CType(defaultActionMethodArgs, IEnumerable(Of String))) #>) + + ' Assert +<# Else #> + + ' Assert +<# End If #> + Assert.Inconclusive() ' Todo: Make assertions, then remove this line +End Sub \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionWithUnitTest/MvcScaffolding.ActionWithUnitTest.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionWithUnitTest/MvcScaffolding.ActionWithUnitTest.ps1 new file mode 100644 index 0000000..7f20f98 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/ActionWithUnitTest/MvcScaffolding.ActionWithUnitTest.ps1 @@ -0,0 +1,15 @@ +[T4Scaffolding.Scaffolder(Description = "Creates an action method, view model, view, and unit test stub")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$Controller, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$Action, + [string]$ViewModel, + [switch]$WithViewModel, + [switch]$Post, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +$actionScaffoldResult = Scaffold MvcScaffolding.Action -Controller $Controller -Action $Action -ViewModel $ViewModel -WithViewModel:$WithViewModel -Post:$Post -Project $Project -CodeLanguage $CodeLanguage -OverrideTemplateFolders $TemplateFolders -Force:$Force +Scaffold MvcScaffolding.ActionUnitTest -Controller $actionScaffoldResult.Controller.FullName -Action $actionScaffoldResult.ActionMethod -ViewModel $actionScaffoldResult.ViewModel.FullName -Project $Project -CodeLanguage $CodeLanguage -OverrideTemplateFolders $TemplateFolders -Force:$Force diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.cs.t4 new file mode 100644 index 0000000..943ba3a --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.cs.t4 @@ -0,0 +1,194 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

      <#= Model.ViewName #>

      + +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +<# if (Model.ReferenceScriptLibraries) { #> +<# if (!Model.IsContentPage) { #> + +<# } #> + + + +<# } #> +<% using (Html.BeginForm()) { %> + <%: Html.ValidationSummary(true) %> +
      + <#= Model.ViewDataTypeName ?? String.Empty #> + + <%: Html.Partial("CreateOrEdit", Model) %> +

      + +

      +
      +<% } %> + +
      + <%: Html.ActionLink("Back to List", "Index") %> +
      +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + +
      +<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.vb.t4 new file mode 100644 index 0000000..98ecf2b --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Create.vb.t4 @@ -0,0 +1,200 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

      <#= Model.ViewName #>

      + +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +<%-- The following line works around an ASP.NET compiler warning --%> +<%: "" %> + +<# If Model.ReferenceScriptLibraries Then #> +<# If Not Model.IsContentPage Then #> + +<# End If #> + + + +<# End If #> +<% Using Html.BeginForm() %> + <%: Html.ValidationSummary(True) %> +
      + <#= If(Model.ViewDataTypeName, String.Empty) #> + + <%: Html.Partial("CreateOrEdit", Model) %> +

      + +

      +
      +<% End Using %> + +
      + <%: Html.ActionLink("Back to List", "Index") %> +
      +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
      +<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.cs.t4 new file mode 100644 index 0000000..11d19be --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.cs.t4 @@ -0,0 +1,138 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="ascx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# + var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; + var mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +#> +<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<#= mvcViewDataTypeGenericString #>" %> + +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, false)) { + if (!property.IsPrimaryKey && !property.IsForeignKey && !property.IsReadOnly) { +#> +
      + <%: Html.LabelFor(model => model.<#= property.Name #>) %> +
      +
      + <%: Html.EditorFor(model => model.<#= property.Name #>) %> + <%: Html.ValidationMessageFor(model => model.<#= property.Name #>) %> +
      + +<# + } +} +#> +<# +foreach (RelatedEntityInfo relation in ParentRelations) { +#> +
      + <#= relation.RelationName #> +
      +
      + <%: Html.DropDownListFor(model => model.<#= relation.RelationProperty.Name #>, ((IEnumerable<<#= relation.RelatedEntityType.FullName #>>)ViewBag.Possible<#= relation.RelationNamePlural #>).Select(option => new SelectListItem { + Text = <#= GetValueExpression("option", relation.RelatedEntityType) #>, + Value = option.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), + Selected = (Model != null) && (option.<#= relation.RelatedEntityPrimaryKeyName #> == Model.<#= relation.RelationProperty.Name #>) + }), "Choose...") %> + <%: Html.ValidationMessageFor(model => model.<#= relation.RelationProperty.Name #>) %> +
      +<# +} +#> +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.vb.t4 new file mode 100644 index 0000000..347c316 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/CreateOrEdit.vb.t4 @@ -0,0 +1,136 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="ascx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +#> +<%@ Control Language="VB" Inherits="System.Web.Mvc.ViewUserControl<#= mvcViewDataTypeGenericString #>" %> + +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, False) + If (Not modelProp.IsPrimaryKey) AndAlso (Not modelProp.IsForeignKey) AndAlso (Not modelProp.IsReadOnly) Then +#> +
      + <%: Html.LabelFor(Function(model) model.<#= modelProp.Name #>) %> +
      +
      + <%: Html.EditorFor(Function(model) model.<#= modelProp.Name #>) %> + <%: Html.ValidationMessageFor(Function(model) model.<#= modelProp.Name #>) %> +
      + +<# + End If +Next +#> +<# For Each relation As RelatedEntityInfo In ParentRelations #> +
      + <#= relation.RelationName #> +
      +
      + <%: Html.DropDownListFor(Function(model) model.<#= relation.RelationProperty.Name #>, CType(ViewBag.Possible<#= relation.RelationNamePlural #>, IEnumerable(Of <#= relation.RelatedEntityType.FullName #>)).Select(Function(optionValue) New SelectListItem() With { _ + .Text = <#= GetValueExpression("optionValue", relation.RelatedEntityType) #>, _ + .Value = optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), _ + .Selected = (Model IsNot Nothing) AndAlso (optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.Equals(Model.<#= relation.RelationProperty.Name #>)) _ + }), "Choose...") %> + <%: Html.ValidationMessageFor(Function(model) model.<#= relation.RelationProperty.Name #>) %> +
      +<# Next #><#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.cs.t4 new file mode 100644 index 0000000..5d4ea9e --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.cs.t4 @@ -0,0 +1,193 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

      <#= Model.ViewName #>

      + +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +

      Are you sure you want to delete this?

      +
      + <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
      <#= property.Name #>
      +
      <%: <#= property.ValueExpression #> %>
      +<# + } +} +#> +
      +<% using (Html.BeginForm()) { %> +

      + | + <%: Html.ActionLink("Back to List", "Index") %> +

      +<% } %> + +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> +
      +<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.vb.t4 new file mode 100644 index 0000000..0e39309 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Delete.vb.t4 @@ -0,0 +1,195 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

      <#= Model.ViewName #>

      + +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +

      Are you sure you want to delete this?

      +
      + <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
      <#= modelProp.Name #>
      +
      <%: <#= modelProp.ValueExpression #> %>
      +<# + End If +Next +#> +
      +<% Using Html.BeginForm() %> +

      + | + <%: Html.ActionLink("Back to List", "Index") %> +

      +<% End Using %> + +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> +
      +<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.cs.t4 new file mode 100644 index 0000000..c90ce29 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.cs.t4 @@ -0,0 +1,202 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

      <#= Model.ViewName #>

      + +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +
      + <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
      <#= property.Name #>
      +
      <%: <#= property.ValueExpression #> %>
      +<# + } +} +#> +
      +

      +<# +if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { +#> + + <%: Html.ActionLink("Edit", "Edit", new { id=Model.<#= Model.PrimaryKeyName #> }) %> | + <%: Html.ActionLink("Back to List", "Index") %> +<# +} else { +#> + <%: Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) %> | + <%: Html.ActionLink("Back to List", "Index") %> +<# +} +#> +

      +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + +
      +<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.vb.t4 new file mode 100644 index 0000000..a327ab8 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Details.vb.t4 @@ -0,0 +1,201 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

      <#= Model.ViewName #>

      + +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +
      + <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
      <#= modelProp.Name #>
      +
      <%: <#= modelProp.ValueExpression #> %>
      +<# + End If +Next +#> +
      +

      +<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + <%: Html.ActionLink("Edit", "Edit", New With {.id = Model.<#= Model.PrimaryKeyName #>}) %> | + <%: Html.ActionLink("Back to List", "Index") %> +<# +Else +#> + <%--<%: Html.ActionLink("Edit", "Edit", New With {.id = Model.PrimaryKey}) %> |--%> + <%: Html.ActionLink("Back to List", "Index") %> +<# +End If +#> +

      +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
      +<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.cs.t4 new file mode 100644 index 0000000..897cb36 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.cs.t4 @@ -0,0 +1,198 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

      <#= Model.ViewName #>

      + +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +<# if (Model.ReferenceScriptLibraries) { #> +<# if (!Model.IsContentPage) { #> + +<# } #> + + + +<# } #> +<% using (Html.BeginForm()) { %> + <%: Html.ValidationSummary(true) %> +
      + <#= Model.ViewDataTypeName ?? String.Empty #> + +<# foreach (ModelProperty property in GetModelProperties(viewDataType, false).Where(x => x.IsPrimaryKey)) { #> + <%: Html.HiddenFor(model => model.<#= property.Name #>) %> +<# } #> + <%: Html.Partial("CreateOrEdit", Model) %> +

      + +

      +
      +<% } %> + +
      + <%: Html.ActionLink("Back to List", "Index") %> +
      +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + +
      +<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.vb.t4 new file mode 100644 index 0000000..358b15f --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Edit.vb.t4 @@ -0,0 +1,203 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

      <#= Model.ViewName #>

      + +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +<%-- The following line works around an ASP.NET compiler warning --%> +<%: "" %> + +<# If Model.ReferenceScriptLibraries Then #> +<# If Not Model.IsContentPage Then #> + +<# End If #> + + + +<# End If #> +<% Using Html.BeginForm() %> + <%: Html.ValidationSummary(True) %> +
      + <#= If(Model.ViewDataTypeName, String.Empty) #> + +<# For Each modelProp As ModelProperty In GetModelProperties(viewDataType, False).Where(Function(x) x.IsPrimaryKey) #> + <%: Html.HiddenFor(Function(model) model.<#= modelProp.Name #>) %> +<# Next #> + <%: Html.Partial("CreateOrEdit", Model) %> +

      + +

      +
      +<% End Using %> + +
      + <%: Html.ActionLink("Back to List", "Index") %> +
      +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
      +<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.cs.t4 new file mode 100644 index 0000000..cb94784 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.cs.t4 @@ -0,0 +1,79 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? "<" + viewDataType.FullName + ">" : ""; +int CPHCounter = 1; +#> +<# if(Model.IsContentPage) { #> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

      <#= Model.ViewName #>

      + +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +<# +if(!Model.IsContentPage) { +#> +
      + +
      +<# +} +#> +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> +
      +<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.vb.t4 new file mode 100644 index 0000000..e9abe8c --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Empty.vb.t4 @@ -0,0 +1,81 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<# +Dim viewDataType = CType(Model.ViewDataType, EnvDTE.CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of " & viewDataType.FullName & ")", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

      <#= Model.ViewName #>

      + +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +<# +If Not Model.IsContentPage Then +#> +
      + +
      +<# +End If +#> +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage Then +#> +
      +<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter += 1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.cs.t4 new file mode 100644 index 0000000..60ba8e6 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.cs.t4 @@ -0,0 +1,227 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# +string mvcViewDataTypeGenericString = (viewDataType != null) ? ">" : ">"; +int CPHCounter = 1; +#> +<# +if(Model.IsContentPage) { +#> +<%@ Page Title="" Language="C#" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + foreach(string cphid in Model.SectionNames) { + if(cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase)) { +#> + + <#= Model.ViewName #> + + +<# + CPHCounter++; + } + } +#> + + +

      <#= Model.ViewName #>

      + +<# +} else { +#> +<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" "); +} +#> +

      + <%: Html.ActionLink("Create New", "Create") %> +

      + + + +<# +List properties = GetModelProperties(Model.ViewDataType, true); +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + + +<% foreach (var item in Model) { %> + +<# +if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { +#> + +<# +} else { +#> + +<# +} + +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + +<% } %> + +
      + <#= property.Name #> +
      + <%: Html.ActionLink("Edit", "Edit", new { id=item.<#= Model.PrimaryKeyName #> }) %> | + <%: Html.ActionLink("Details", "Details", new { id=item.<#= Model.PrimaryKeyName #> }) %> | + <%: Html.ActionLink("Delete", "Delete", new { id=item.<#= Model.PrimaryKeyName #> }) %> + + <%: Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) %> | + <%: Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) %> | + <%: Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) %> + + <%: <#= property.ValueExpression.Replace("Model.", "item.") #> %> +
      +<# +// The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +if(Model.IsContentPage) { +#> + +
      +<# + foreach(string cphid in Model.SectionNames) { + if(!cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) && !cphid.Equals(Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase)) { + CPHCounter++; +#> + + + +<# + } + } +#> +<# +} else if(!Model.IsContentPage) { + ClearIndent(); +#> + + +<# +} +#> + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.vb.t4 new file mode 100644 index 0000000..5f0dfbd --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/Index.vb.t4 @@ -0,0 +1,228 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="aspx" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# +Dim viewDataType = CType(Model.ViewDataType, CodeType) +Dim mvcViewDataTypeGenericString As String = If(viewDataType IsNot Nothing, "(Of IEnumerable (Of " & viewDataType.FullName & "))", String.Empty) +Dim CPHCounter As Integer = 1 +#> +<# +If Model.IsContentPage Then +#> +<%@ Page Title="" Language="VB" MasterPageFile="~<#= Model.Layout #>" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + +<# + For Each cphid As String In Model.SectionNames + If cphid.Equals("TitleContent", StringComparison.OrdinalIgnoreCase) Then +#> + + <#= Model.ViewName #> + + +<# + CPHCounter += 1 + End If + Next +#> + + +

      <#= Model.ViewName #>

      + +<# +Else +#> +<%@ Page Language="VB" Inherits="System.Web.Mvc.ViewPage<#= mvcViewDataTypeGenericString #>" %> + + + + + <#= Model.ViewName #> + + +<# + PushIndent(" ") +End If +#> +

      + <%: Html.ActionLink("Create New", "Create") %> +

      + + + +<# +Dim properties As List(Of ModelProperty) = GetModelProperties(Model.ViewDataType, True) +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + + +<% For Each item In Model %> + <% Dim itemValue = item %> + +<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + +<# +Else +#> + +<# +End If + +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + +<% Next %> + +
      + <#= modelProp.Name #> +
      + <%: Html.ActionLink("Edit", "Edit", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) %> | + <%: Html.ActionLink("Details", "Details", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) %> | + <%: Html.ActionLink("Delete", "Delete", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) %> + + <%--<%: Html.ActionLink("Edit", "Edit", New With {.id = itemValue.PrimaryKey}) %> | + <%: Html.ActionLink("Details", "Details", New With {.id = itemValue.PrimaryKey}) %> | + <%: Html.ActionLink("Delete", "Delete", New With {.id = itemValue.PrimaryKey}) %>--%> + + <%: <#= modelProp.ValueExpression.Replace("Model.", "itemValue.") #> %> +
      +<# +' The following code closes the asp:Content tag used in the case of a master page and the body and html tags in the case of a regular view page +#> +<# +If Model.IsContentPage +#> + +
      +<# + For Each cphid As String In Model.SectionNames + If String.Compare(cphid, "TitleContent", StringComparison.OrdinalIgnoreCase) <> 0 AndAlso String.Compare(cphid, Model.PrimarySectionName, StringComparison.OrdinalIgnoreCase) <> 0 Then + CPHCounter +=1 +#> + + + +<# + End If + Next +#> +<# +Else If Not Model.IsContentPage Then + ClearIndent() +#> + + +<# +End If +#> + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/MvcScaffolding.AspxView.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/MvcScaffolding.AspxView.ps1 new file mode 100644 index 0000000..6feb9d0 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/AspxView/MvcScaffolding.AspxView.ps1 @@ -0,0 +1,40 @@ +[T4Scaffolding.ViewScaffolder("ASPX", Description = "Adds an ASP.NET MVC view using the ASPX view engine", LayoutPageFilter = "*.master|*.master")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)][string]$Controller, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 1)][string]$ViewName, + [string]$ModelType, + [string]$Template = "Empty", + [string]$Area, + [alias("Layout")]$MasterPage = "", + [alias("SectionNames")][string[]]$ContentPlaceholderIDs, + [alias("PrimarySectionName")][string]$PrimaryContentPlaceholderID, + [switch]$ReferenceScriptLibraries = $false, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +# Populate masterpage-related args with defaults based on standard MVC 3 site template where not specified. +# If you haven't passed a -MasterPage argument but it looks like you are using a standard master page, assume +# you do want to use that master page. If you really don't want any master, explicitly pass -MasterPage $null. +$defaultMasterPage = "/Views/Shared/Site.Master" +if ($MasterPage -eq "") { + $MasterPage = if (Get-ProjectItem $defaultMasterPage) { $defaultMasterPage } else { $null } +} +if (!$ContentPlaceholderIDs) { $ContentPlaceholderIDs = @("TitleContent", "MainContent") } +if (!$PrimaryContentPlaceholderID) { $PrimaryContentPlaceholderID = "MainContent" } + +# In the case of view names with a leading underscore, this is a Razor convention that Aspx doesn't follow +# so we just strip off any leading underscore +if ($Template.StartsWith("_") -and ($Template.Length -gt 1)) { $Template = $Template.Substring(1) } +if ($ViewName.StartsWith("_") -and ($ViewName.Length -gt 1)) { $ViewName = $ViewName.Substring(1) } + +# In the case of master page names with a leading tilde, strip it off, because the view templates +# automatically prefix the master name with a tilde +if ($MasterPage -and $MasterPage.StartsWith("~")) { + $MasterPage = $MasterPage.Substring(1) +} + +# Inherit all logic from MvcScaffolding.RazorView (merely override the templates) +Scaffold MvcScaffolding.RazorView -Controller $Controller -ViewName $ViewName -ModelType $ModelType -Template $Template -Area $Area -Layout $MasterPage -SectionNames $ContentPlaceholderIDs -PrimarySectionName $PrimaryContentPlaceholderID -ReferenceScriptLibraries:$ReferenceScriptLibraries -Project $Project -CodeLanguage $CodeLanguage -OverrideTemplateFolders $TemplateFolders -Force:$Force \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.cs.t4 new file mode 100644 index 0000000..4c6a656 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.cs.t4 @@ -0,0 +1,159 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.Entity; +using System.Linq; +using System.Web; +using System.Web.Mvc; +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +using <#= Model.ModelTypeNamespace #>; +<# } #> +<# if(Model.DbContextNamespace != Model.ModelTypeNamespace) { #> +using <#= Model.DbContextNamespace #>; +<# } #> + +namespace <#= Model.ControllerNamespace #> +{ +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + public class <#= Model.ControllerName #> : Controller + { + private <#= ((CodeType)Model.DbContextType).Name #> context = new <#= ((CodeType)Model.DbContextType).Name #>(); + + // + // GET: /<#= routingName #>/ + + public ViewResult Index() + { +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpressions = isObjectContext + ? String.Join("", propertiesToInclude.Select(x => String.Format(".Include(\"{0}\")", x.Name))) + : String.Join("", propertiesToInclude.Select(x => String.Format(".Include({0} => {0}.{1})", modelVariable, x.Name))); +#> + return View(context.<#= modelNamePlural #><#= includeExpressions #>.ToList()); + } + + // + // GET: /<#= routingName #>/Details/5 + + public ViewResult Details(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); + return View(<#= modelVariable #>); + } + + // + // GET: /<#= routingName #>/Create + + public ActionResult Create() + { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(); + } + + // + // POST: /<#= routingName #>/Create + + [HttpPost] + public ActionResult Create(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) + { +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelVariable #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid(); +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelVariable #>); +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelVariable #>); +<# } #> + context.SaveChanges(); + return RedirectToAction("Index"); + } + +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(<#= modelVariable #>); + } + + // + // GET: /<#= routingName #>/Edit/5 + + public ActionResult Edit(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(<#= modelVariable #>); + } + + // + // POST: /<#= routingName #>/Edit/5 + + [HttpPost] + public ActionResult Edit(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) + { +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelVariable #>); + context.ObjectStateManager.ChangeObjectState(<#= modelVariable #>, EntityState.Modified); +<# } else { #> + context.Entry(<#= modelVariable #>).State = EntityState.Modified; +<# } #> + context.SaveChanges(); + return RedirectToAction("Index"); + } +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #>; +<# } #> + return View(<#= modelVariable #>); + } + + // + // GET: /<#= routingName #>/Delete/5 + + public ActionResult Delete(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); + return View(<#= modelVariable #>); + } + + // + // POST: /<#= routingName #>/Delete/5 + + [HttpPost, ActionName("Delete")] + public ActionResult DeleteConfirmed(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= modelName #> <#= modelVariable #> = context.<#= modelNamePlural #>.Single(x => x.<#= primaryKeyProperty.Name #> == id); +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.DeleteObject(<#= modelVariable #>); +<# } else { #> + context.<#= modelNamePlural #>.Remove(<#= modelVariable #>); +<# } #> + context.SaveChanges(); + return RedirectToAction("Index"); + } + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.vb.t4 new file mode 100644 index 0000000..96321ce --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithContext.vb.t4 @@ -0,0 +1,129 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +Imports System.Data +Imports System.Data.Entity +Imports System.Linq +Imports System.Web.Mvc +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +Imports <#= Model.ModelTypeNamespace #> +<# } #> +<# if((!string.IsNullOrEmpty(Model.DbContextNamespace)) && (Model.DbContextNamespace != Model.ModelTypeNamespace)) { #> +Imports <#= Model.DbContextNamespace #> +<# } #> + +<#= T4Scaffolding.Namespaces.BeginVb(Model.ControllerNamespace, Model.DefaultNamespace) #> +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + Public Class <#= Model.ControllerName #> : Inherits Controller + Private context As <#= ((CodeType)Model.DbContextType).Name #> = New <#= ((CodeType)Model.DbContextType).Name #>() + + ' GET: /<#= routingName #>/ + Public Function Index() As ViewResult +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpressions = isObjectContext + ? String.Join("", propertiesToInclude.Select(x => String.Format(".Include(\"{0}\")", x.Name))) + : String.Join("", propertiesToInclude.Select(x => String.Format(".Include(Function({0}) {0}.{1})", modelVariable, x.Name))); +#> + return View(context.<#= modelNamePlural #><#= includeExpressions #>.ToList()) + End Function + + ' GET: /<#= routingName #>/Details/5 + Public Function Details(id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Dim <#= modelVariable #> As <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) + Return View(<#= modelVariable #>) + End Function + + ' GET: /<#= routingName #>/Create + Public Function Create() As ViewResult +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View() + End Function + + ' POST: /<#= routingName #>/Create + + Public Function Create(<#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelVariable #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid() +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelVariable #>) +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelVariable #>) +<# } #> + context.SaveChanges() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Edit/5 + Public Function Edit(id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Dim <#= modelVariable #> As <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View(<#= modelVariable #>) + End Function + + ' POST: /<#= routingName #>/Edit/5 + + Public Function Edit(<#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelVariable #>) + context.ObjectStateManager.ChangeObjectState(<#= modelVariable #>, EntityState.Modified) +<# } else { #> + context.Entry(<#= modelVariable #>).State = EntityState.Modified +<# } #> + context.SaveChanges() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = context.<#= relatedEntity.RelatedEntityTypeNamePlural #> +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Delete/5 + Public Function Delete(id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Dim <#= modelVariable #> as <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) + Return View(<#= modelVariable #>) + End Function + + ' POST: /<#= routingName #>/Delete/5 + + Public Function DeleteConfirmed(id as <#= primaryKeyProperty.Type.AsString #>) As ActionResult + Dim <#= modelVariable #> As <#= modelName #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= primaryKeyProperty.Name #> = id) +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.DeleteObject(<#= modelVariable #>) +<# } else { #> + context.<#= modelNamePlural #>.Remove(<#= modelVariable #>) +<# } #> + context.SaveChanges() + Return RedirectToAction("Index") + End Function + End Class +<#= T4Scaffolding.Namespaces.EndVb(Model.ControllerNamespace, Model.DefaultNamespace) #> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.cs.t4 new file mode 100644 index 0000000..dc8fa62 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.cs.t4 @@ -0,0 +1,173 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +using <#= Model.ModelTypeNamespace #>; +<# } #> +<# if((!string.IsNullOrEmpty(Model.RepositoriesNamespace)) && (Model.RepositoriesNamespace != Model.ModelTypeNamespace)) { #> +using <#= Model.RepositoriesNamespace #>; +<# } #> + +namespace <#= Model.ControllerNamespace #> +{ +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); +#> + public class <#= Model.ControllerName #> : Controller + { +<# foreach(var repository in Repositories.Values) { #> + private readonly I<#= repository.RepositoryTypeName #> <#= repository.VariableName #>; +<# } #> + + // If you are using Dependency Injection, you can delete the following constructor + public <#= Model.ControllerName #>() : this(<#= String.Join(", ", Repositories.Values.Select(x => "new " + x.RepositoryTypeName + "()")) #>) + { + } + + public <#= Model.ControllerName #>(<#= String.Join(", ", Repositories.Values.Select(x => "I" + x.RepositoryTypeName + " " + x.VariableName)) #>) + { +<# foreach(var repository in Repositories.Values) { #> + this.<#= repository.VariableName #> = <#= repository.VariableName #>; +<# } #> + } + + // + // GET: /<#= routingName #>/ + + public ViewResult Index() + { +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpression = String.Join(", ", propertiesToInclude.Select(x => String.Format("{0} => {0}.{1}", modelVariable, x.Name))); + if (!string.IsNullOrEmpty(includeExpression)) { + includeExpression = "Including(" + includeExpression + ")"; + } +#> + return View(<#= Repositories[modelType.FullName].VariableName #>.All<#= includeExpression #>); + } + + // + // GET: /<#= routingName #>/Details/5 + + public ViewResult Details(<#= primaryKeyProperty.Type.AsString #> id) + { + return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)); + } + + // + // GET: /<#= routingName #>/Create + + public ActionResult Create() + { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(); + } + + // + // POST: /<#= routingName #>/Create + + [HttpPost] + public ActionResult Create(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) { + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>); + <#= Repositories[modelType.FullName].VariableName #>.Save(); + return RedirectToAction("Index"); + } else { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(); + } + } + + // + // GET: /<#= routingName #>/Edit/5 + + public ActionResult Edit(<#= primaryKeyProperty.Type.AsString #> id) + { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)); + } + + // + // POST: /<#= routingName #>/Edit/5 + + [HttpPost] + public ActionResult Edit(<#= modelName #> <#= modelVariable #>) + { + if (ModelState.IsValid) { + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>); + <#= Repositories[modelType.FullName].VariableName #>.Save(); + return RedirectToAction("Index"); + } else { +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All; +<# } #> + return View(); + } + } + + // + // GET: /<#= routingName #>/Delete/5 + + public ActionResult Delete(<#= primaryKeyProperty.Type.AsString #> id) + { + return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)); + } + + // + // POST: /<#= routingName #>/Delete/5 + + [HttpPost, ActionName("Delete")] + public ActionResult DeleteConfirmed(<#= primaryKeyProperty.Type.AsString #> id) + { + <#= Repositories[modelType.FullName].VariableName #>.Delete(id); + <#= Repositories[modelType.FullName].VariableName #>.Save(); + + return RedirectToAction("Index"); + } + } +} + +<#+ +class RepositoryInfo { + public string RepositoryTypeName { get; set; } + public string VariableName { get; set; } +} + +IDictionary _repositories; +IDictionary Repositories { + get { + if (_repositories == null) { + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var relatedTypes = relatedEntities.Where(x => x.RelationType == RelationType.Parent).Select(x => x.RelatedEntityType).Distinct(); + _repositories = relatedTypes.ToDictionary( + relatedType => relatedType.FullName, + relatedType => new RepositoryInfo { RepositoryTypeName = relatedType.Name + "Repository", VariableName = relatedType.Name.ToLower() + "Repository" } + ); + _repositories[((CodeType)Model.ModelType).FullName] = new RepositoryInfo { RepositoryTypeName = Model.Repository, VariableName = ((CodeType)Model.ModelType).Name.ToLower() + "Repository" }; + } + return _repositories; + } +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.vb.t4 new file mode 100644 index 0000000..4d70044 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/ControllerWithRepository.vb.t4 @@ -0,0 +1,141 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Text.RegularExpressions" #> +<#@ import namespace="EnvDTE" #> +Imports System.Linq +Imports System.Web.Mvc +<# if(!string.IsNullOrEmpty(Model.ModelTypeNamespace)) { #> +Imports <#= Model.ModelTypeNamespace #> +<# } #> +<# if((!string.IsNullOrEmpty(Model.RepositoriesNamespace)) && (Model.RepositoriesNamespace != Model.ModelTypeNamespace)) { #> +Imports <#= Model.RepositoriesNamespace #> +<# } #> + +<#= T4Scaffolding.Namespaces.BeginVb(Model.ControllerNamespace, Model.DefaultNamespace) #> +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var modelVariable = modelName.ToLower(); + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var routingName = Regex.Replace(Model.ControllerName, "Controller$", "", RegexOptions.IgnoreCase); +#> + Public Class <#= Model.ControllerName #> : Inherits Controller +<# foreach(var repository in Repositories.Values) { #> + Private ReadOnly <#= repository.VariableName #> As I<#= repository.RepositoryTypeName #> +<# } #> + + ' If you are using Dependency Injection, you can delete the following constructor + Public Sub New() + Me.New(<#= String.Join(", ", Repositories.Values.Select(x => "New " + x.RepositoryTypeName + "()")) #>) + End Sub + + Public Sub New(<#= String.Join(", ", Repositories.Values.Select(x => "ByVal " + x.VariableName + " As I" + x.RepositoryTypeName)) #>) +<# foreach(var repository in Repositories.Values) { #> + Me.<#= repository.VariableName #> = <#= repository.VariableName #> +<# } #> + End Sub + + ' GET: /<#= routingName #>/ + Public Function Index() As ViewResult +<# + var propertiesToInclude = relatedEntities.Select(relation => relation.LazyLoadingProperty).Where(x => x != null); + var includeExpression = String.Join(", ", propertiesToInclude.Select(x => String.Format("Function({0}) {0}.{1}", modelVariable, x.Name))); + if (!string.IsNullOrEmpty(includeExpression)) { + includeExpression = "Including(" + includeExpression + ")"; + } +#> + Return View(<#= Repositories[modelType.FullName].VariableName #>.All<#= includeExpression #>) + End Function + + ' GET: /<#= routingName #>/Details/5 + Public Function Details(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ViewResult + Return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)) + End Function + + ' GET: /<#= routingName #>/Create + Public Function Create() As ActionResult +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View() + End Function + + ' POST: /<#= routingName #>/Create + + Public Function Create(ByVal <#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>) + <#= Repositories[modelType.FullName].VariableName #>.Save() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Edit/5 + Public Function Edit(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ActionResult +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)) + End Function + + ' POST: /<#= routingName #>/Edit/5 + + Public Function Edit(ByVal <#= modelVariable #> As <#= modelName #>) As ActionResult + If ModelState.IsValid + <#= Repositories[modelType.FullName].VariableName #>.InsertOrUpdate(<#= modelVariable #>) + <#= Repositories[modelType.FullName].VariableName #>.Save() + Return RedirectToAction("Index") + Else +<# foreach(var relatedEntity in relatedEntities.Where(x => x.RelationType == RelationType.Parent)) { #> + ViewBag.Possible<#= relatedEntity.RelationNamePlural #> = <#= Repositories[relatedEntity.RelatedEntityType.FullName].VariableName #>.All +<# } #> + Return View() + End If + End Function + + ' GET: /<#= routingName #>/Delete/5 + Public Function Delete(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ActionResult + Return View(<#= Repositories[modelType.FullName].VariableName #>.Find(id)) + End Function + + ' POST: /<#= routingName #>/Delete/5 + + Public Function DeleteConfirm(ByVal id As <#= primaryKeyProperty.Type.AsString #>) As ActionResult + <#= Repositories[modelType.FullName].VariableName #>.Delete(id) + <#= Repositories[modelType.FullName].VariableName #>.Save() + Return RedirectToAction("Index") + End Function + End Class +<#= T4Scaffolding.Namespaces.EndVb(Model.ControllerNamespace, Model.DefaultNamespace) #> +<#+ +class RepositoryInfo { + public string RepositoryTypeName { get; set; } + public string VariableName { get; set; } +} + +IDictionary _repositories; +IDictionary Repositories { + get { + if (_repositories == null) { + var relatedEntities = ((IEnumerable)Model.RelatedEntities).OfType(); + var relatedTypes = relatedEntities.Where(x => x.RelationType == RelationType.Parent).Select(x => x.RelatedEntityType).Distinct(); + _repositories = relatedTypes.ToDictionary( + relatedType => relatedType.FullName, + relatedType => new RepositoryInfo { RepositoryTypeName = relatedType.Name + "Repository", VariableName = relatedType.Name.ToLower() + "Repository" } + ); + _repositories[((CodeType)Model.ModelType).FullName] = new RepositoryInfo { RepositoryTypeName = Model.Repository, VariableName = ((CodeType)Model.ModelType).Name.ToLower() + "Repository" }; + } + return _repositories; + } +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.Controller.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.Controller.ps1 new file mode 100644 index 0000000..5863de4 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.Controller.ps1 @@ -0,0 +1,127 @@ +[T4Scaffolding.ControllerScaffolder("Controller with read/write action and views, using EF data access code", Description = "Adds an ASP.NET MVC controller with views and data access code", SupportsModelType = $true, SupportsDataContextType = $true, SupportsViewScaffolder = $true)][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ControllerName, + [string]$ModelType, + [string]$Project, + [string]$CodeLanguage, + [string]$DbContextType, + [string]$Area, + [string]$ViewScaffolder = "View", + [alias("MasterPage")]$Layout, + [alias("ContentPlaceholderIDs")][string[]]$SectionNames, + [alias("PrimaryContentPlaceholderID")][string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [switch]$Repository = $false, + [switch]$NoChildItems = $false, + [string[]]$TemplateFolders, + [switch]$Force = $false, + [string]$ForceMode +) + +if (!((Get-ProjectAspNetMvcVersion -Project $Project) -ge 3)) { + Write-Error ("Project '$((Get-Project $Project).Name)' is not an ASP.NET MVC 3 project.") + return +} + +# Interpret the "Force" and "ForceMode" options +$overwriteController = $Force -and ((!$ForceMode) -or ($ForceMode -eq "ControllerOnly")) +$overwriteFilesExceptController = $Force -and ((!$ForceMode) -or ($ForceMode -eq "PreserveController")) + +# Ensure you've referenced System.Data.Entity +(Get-Project $Project).Object.References.Add("System.Data.Entity") | Out-Null + +# If you haven't specified a model type, we'll guess from the controller name +if (!$ModelType) { + if ($ControllerName.EndsWith("Controller", [StringComparison]::OrdinalIgnoreCase)) { + # If you've given "PeopleController" as the full controller name, we're looking for a model called People or Person + $ModelType = [System.Text.RegularExpressions.Regex]::Replace($ControllerName, "Controller$", "", [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + if (!$foundModelType) { + $ModelType = [string](Get-SingularizedWord $ModelType) + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + } + } else { + # If you've given "people" as the controller name, we're looking for a model called People or Person, and the controller will be PeopleController + $ModelType = $ControllerName + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + if (!$foundModelType) { + $ModelType = [string](Get-SingularizedWord $ModelType) + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi -ErrorAction SilentlyContinue + } + if ($foundModelType) { + $ControllerName = [string](Get-PluralizedWord $foundModelType.Name) + "Controller" + } + } + if (!$foundModelType) { throw "Cannot find a model type corresponding to a controller called '$ControllerName'. Try supplying a -ModelType parameter value." } +} else { + # If you have specified a model type + $foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi + if (!$foundModelType) { return } + if (!$ControllerName.EndsWith("Controller", [StringComparison]::OrdinalIgnoreCase)) { + $ControllerName = $ControllerName + "Controller" + } +} +Write-Host "Scaffolding $ControllerName..." + +if(!$DbContextType) { $DbContextType = [System.Text.RegularExpressions.Regex]::Replace((Get-Project $Project).Name, "[^a-zA-Z0-9]", "") + "Context" } +if (!$NoChildItems) { + if ($Repository) { + Scaffold Repository -ModelType $foundModelType.FullName -DbContextType $DbContextType -Area $Area -Project $Project -CodeLanguage $CodeLanguage -Force:$overwriteFilesExceptController -BlockUi + } else { + $dbContextScaffolderResult = Scaffold DbContext -ModelType $foundModelType.FullName -DbContextType $DbContextType -Area $Area -Project $Project -CodeLanguage $CodeLanguage -BlockUi + $foundDbContextType = $dbContextScaffolderResult.DbContextType + if (!$foundDbContextType) { return } + } +} +if (!$foundDbContextType) { $foundDbContextType = Get-ProjectType $DbContextType -Project $Project } +if (!$foundDbContextType) { return } + +$primaryKey = Get-PrimaryKey $foundModelType.FullName -Project $Project -ErrorIfNotFound +if (!$primaryKey) { return } + +$outputPath = Join-Path Controllers $ControllerName +# We don't create areas here, so just ensure that if you specify one, it already exists +if ($Area) { + $areaPath = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaPath -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputPath = Join-Path $areaPath $outputPath +} + +# Prepare all the parameter values to pass to the template, then invoke the template with those values +$repositoryName = $foundModelType.Name + "Repository" +$defaultNamespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value +$modelTypeNamespace = [T4Scaffolding.Namespaces]::GetNamespace($foundModelType.FullName) +$controllerNamespace = [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + "." + [System.IO.Path]::GetDirectoryName($outputPath).Replace([System.IO.Path]::DirectorySeparatorChar, ".")) +$areaNamespace = if ($Area) { [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + ".Areas.$Area") } else { $defaultNamespace } +$dbContextNamespace = $foundDbContextType.Namespace.FullName +$repositoriesNamespace = [T4Scaffolding.Namespaces]::Normalize($areaNamespace + ".Models") +$modelTypePluralized = Get-PluralizedWord $foundModelType.Name +$relatedEntities = [Array](Get-RelatedEntities $foundModelType.FullName -Project $project) +if (!$relatedEntities) { $relatedEntities = @() } + +$templateName = if($Repository) { "ControllerWithRepository" } else { "ControllerWithContext" } +Add-ProjectItemViaTemplate $outputPath -Template $templateName -Model @{ + ControllerName = $ControllerName; + ModelType = [MarshalByRefObject]$foundModelType; + PrimaryKey = [string]$primaryKey; + DefaultNamespace = $defaultNamespace; + AreaNamespace = $areaNamespace; + DbContextNamespace = $dbContextNamespace; + RepositoriesNamespace = $repositoriesNamespace; + ModelTypeNamespace = $modelTypeNamespace; + ControllerNamespace = $controllerNamespace; + DbContextType = [MarshalByRefObject]$foundDbContextType; + Repository = $repositoryName; + ModelTypePluralized = [string]$modelTypePluralized; + RelatedEntities = $relatedEntities; +} -SuccessMessage "Added controller {0}" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$overwriteController + +if (!$NoChildItems) { + $controllerNameWithoutSuffix = [System.Text.RegularExpressions.Regex]::Replace($ControllerName, "Controller$", "", [System.Text.RegularExpressions.RegexOptions]::IgnoreCase) + if ($ViewScaffolder) { + Scaffold Views -ViewScaffolder $ViewScaffolder -Controller $controllerNameWithoutSuffix -ModelType $foundModelType.FullName -Area $Area -Layout $Layout -SectionNames $SectionNames -PrimarySectionName $PrimarySectionName -ReferenceScriptLibraries:$ReferenceScriptLibraries -Project $Project -CodeLanguage $CodeLanguage -Force:$overwriteFilesExceptController + } +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.ControllerWithRepository.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.ControllerWithRepository.ps1 new file mode 100644 index 0000000..9ed5bbb --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Controller/MvcScaffolding.ControllerWithRepository.ps1 @@ -0,0 +1,36 @@ +[T4Scaffolding.ControllerScaffolder("Controller with read/write action and views, using repositories", HideInConsole = $true, Description = "Adds an ASP.NET MVC controller with views and data access code", SupportsModelType = $true, SupportsDataContextType = $true, SupportsViewScaffolder = $true)][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ControllerName, + [string]$ModelType, + [string]$Project, + [string]$CodeLanguage, + [string]$DbContextType, + [string]$Area, + [string]$ViewScaffolder = "View", + [alias("MasterPage")]$Layout, + [alias("ContentPlaceholderIDs")][string[]]$SectionNames, + [alias("PrimaryContentPlaceholderID")][string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [switch]$NoChildItems = $false, + [string[]]$TemplateFolders, + [switch]$Force = $false, + [string]$ForceMode +) + +Scaffold MvcScaffolding.Controller ` + -ControllerName $ControllerName ` + -ModelType $ModelType ` + -Project $Project ` + -CodeLanguage $CodeLanguage ` + -DbContextType $DbContextType ` + -Area $Area ` + -ViewScaffolder $ViewScaffolder ` + -Layout $Layout ` + -SectionNames $SectionNames ` + -PrimarySectionName $PrimarySectionName ` + -ReferenceScriptLibraries:$ReferenceScriptLibraries ` + -NoChildItems:$NoChildItems ` + -OverrideTemplateFolders $TemplateFolders ` + -Force:$Force ` + -ForceMode $ForceMode ` + -Repository diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.cs.t4 new file mode 100644 index 0000000..84cc50b --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.cs.t4 @@ -0,0 +1,140 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# +if (!String.IsNullOrEmpty(Model.Layout)) { +#> + Layout = "<#= Model.Layout #>"; +<# +} +#> +} + +

      <#= Model.ViewName #>

      + +<# if(Model.ReferenceScriptLibraries) { #> + + + +<# } #> +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + <#= Model.ViewDataTypeName ?? String.Empty #> + + @Html.Partial("_CreateOrEdit", Model) + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index") +
      + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.vb.t4 new file mode 100644 index 0000000..f89970b --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Create.vb.t4 @@ -0,0 +1,137 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

      <#= Model.ViewName #>

      + +<# If Model.ReferenceScriptLibraries Then #> + + + +<# End If #> +@Using Html.BeginForm() + @Html.ValidationSummary(True) + @
      + <#= If(Model.ViewDataTypeName, String.Empty) #> + + @Html.Partial("_CreateOrEdit", Model) +

      + +

      +
      +End Using + +
      + @Html.ActionLink("Back to List", "Index") +
      + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.cs.t4 new file mode 100644 index 0000000..161e472 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.cs.t4 @@ -0,0 +1,136 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

      <#= Model.ViewName #>

      + +

      Are you sure you want to delete this?

      +
      + <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
      <#= property.Name #>
      +
      @<#= property.ValueExpression #>
      +<# + } +} +#> +
      +@using (Html.BeginForm()) { +

      + | + @Html.ActionLink("Back to List", "Index") +

      +} + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.vb.t4 new file mode 100644 index 0000000..c808ab5 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Delete.vb.t4 @@ -0,0 +1,139 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

      <#= Model.ViewName #>

      + +

      Are you sure you want to delete this?

      +
      + <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
      <#= modelProp.Name #>
      +
      @<#= modelProp.ValueExpression #>
      +<# + End If +Next +#> +
      + +@Using Html.BeginForm() + @

      + | + @Html.ActionLink("Back to List", "Index") +

      +End Using + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.cs.t4 new file mode 100644 index 0000000..bf4f8af --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.cs.t4 @@ -0,0 +1,138 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

      <#= Model.ViewName #>

      + +
      + <#= Model.ViewDataTypeName ?? String.Empty #> +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, true)) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +
      <#= property.Name #>
      +
      @<#= property.ValueExpression #>
      +<# + } +} +#> +
      +

      +<# if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { #> + @Html.ActionLink("Edit", "Edit", new { id=Model.<#= Model.PrimaryKeyName #> }) | + @Html.ActionLink("Back to List", "Index") +<# } else { #> + @Html.ActionLink("Edit", "Edit", new { /* id=Model.PrimaryKey */ }) | + @Html.ActionLink("Back to List", "Index") +<# } #> +

      + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.vb.t4 new file mode 100644 index 0000000..c6878c9 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Details.vb.t4 @@ -0,0 +1,141 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

      <#= Model.ViewName #>

      + +
      + <#= If(Model.ViewDataTypeName, String.Empty) #> +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, True) + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +
      <#= modelProp.Name #>
      +
      @<#= modelProp.ValueExpression #>
      +<# + End If +Next +#> +
      + +

      +<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + @Html.ActionLink("Edit", "Edit", New With {.id = Model.<#= Model.PrimaryKeyName #>}) | + @Html.ActionLink("Back to List", "Index") +<# Else #> + @*@Html.ActionLink("Edit", "Edit", New With {.id = Model.PrimaryKey}) |*@ + @Html.ActionLink("Back to List", "Index") +<# End If #> +

      + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.cs.t4 new file mode 100644 index 0000000..85668d1 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.cs.t4 @@ -0,0 +1,137 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

      <#= Model.ViewName #>

      + +<# if(Model.ReferenceScriptLibraries) { #> + + + +<# } #> +@using (Html.BeginForm()) { + @Html.ValidationSummary(true) +
      + <#= Model.ViewDataTypeName ?? String.Empty #> + +<# foreach (ModelProperty property in GetModelProperties(viewDataType, false).Where(x => x.IsPrimaryKey)) { #> + @Html.HiddenFor(model => model.<#= property.Name #>) +<# } #> + @Html.Partial("_CreateOrEdit", Model) + +

      + +

      +
      +} + +
      + @Html.ActionLink("Back to List", "Index") +
      +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.vb.t4 new file mode 100644 index 0000000..b10a218 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Edit.vb.t4 @@ -0,0 +1,140 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

      <#= Model.ViewName #>

      + +<# If Model.ReferenceScriptLibraries Then #> + + + +<# End If #> +@Using Html.BeginForm() + @Html.ValidationSummary(True) + @
      + <#= If(Model.ViewDataTypeName, String.Empty) #> + +<# For Each modelProp As ModelProperty In GetModelProperties(viewDataType, False).Where(Function(x) x.IsPrimaryKey) #> + @Html.HiddenFor(Function(model) model.<#= modelProp.Name #>) +<# Next #> + @Html.Partial("_CreateOrEdit", Model) +

      + +

      +
      +End Using + +
      + @Html.ActionLink("Back to List", "Index") +
      + +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.cs.t4 new file mode 100644 index 0000000..b4d5dc4 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.cs.t4 @@ -0,0 +1,15 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

      <#= Model.ViewName #>

      \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.vb.t4 new file mode 100644 index 0000000..4ba5200 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Empty.vb.t4 @@ -0,0 +1,15 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<# Dim viewDataType = CType(Model.ViewDataType, EnvDTE.CodeType) #> +<# If viewDataType IsNot Nothing Then #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# If Not String.IsNullOrEmpty(Model.Layout) #> + Layout = "<#= Model.Layout #>" +<# End If #> +End Code + +

      <#= Model.ViewName #>

      \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.cs.t4 new file mode 100644 index 0000000..01280e8 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.cs.t4 @@ -0,0 +1,165 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model IEnumerable<<#= viewDataType.FullName #>> + +<# } #> +@{ + ViewBag.Title = "<#= Model.ViewName #>"; +<# if (!String.IsNullOrEmpty(Model.Layout)) { #> + Layout = "<#= Model.Layout #>"; +<# } #> +} + +

      <#= Model.ViewName #>

      + +

      + @Html.ActionLink("Create New", "Create") +

      + + + +<# +List properties = GetModelProperties(Model.ViewDataType, true); +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + + +@foreach (var item in Model) { + +<# if (!String.IsNullOrEmpty(Model.PrimaryKeyName)) { #> + +<# } else { #> + +<# } #> +<# +foreach (ModelProperty property in properties) { + if (!property.IsPrimaryKey && !property.IsForeignKey) { +#> + +<# + } +} +#> + +} + +
      + <#= property.Name #> +
      + @Html.ActionLink("Edit", "Edit", new { id=item.<#= Model.PrimaryKeyName #> }) | + @Html.ActionLink("Details", "Details", new { id=item.<#= Model.PrimaryKeyName #> }) | + @Html.ActionLink("Delete", "Delete", new { id=item.<#= Model.PrimaryKeyName #> }) + + @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) | + @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) | + @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) + + @<#= property.ValueExpression.Replace("Model.", "item.") #> +
      + + +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.vb.t4 new file mode 100644 index 0000000..4baabc1 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/Index.vb.t4 @@ -0,0 +1,174 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType IEnumerable(Of <#= viewDataType.FullName #>) + +<# End If #> +@Code + ViewData("Title") = "<#= Model.ViewName #>" +<# +If Not String.IsNullOrEmpty(Model.Layout) +#> + Layout = "<#= Model.Layout #>" +<# +End If +#> +End Code + +

      <#= Model.ViewName #>

      + +

      + @Html.ActionLink("Create New", "Create") +

      + + + +<# +Dim properties As List(Of ModelProperty) = GetModelProperties(Model.ViewDataType, True) +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + + +@For Each item In Model + Dim itemValue = item + @ +<# If Not String.IsNullOrEmpty(Model.PrimaryKeyName) Then #> + +<# +Else +#> + +<# +End If + +For Each modelProp As ModelProperty In properties + If (Not modelProp.IsPrimaryKey AndAlso Not modelProp.IsForeignKey) Then +#> + +<# + End If +Next +#> + +Next + +
      + <#= modelProp.Name #> +
      + @Html.ActionLink("Edit", "Edit", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) | + @Html.ActionLink("Details", "Details", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) | + @Html.ActionLink("Delete", "Delete", New With {.id = itemValue.<#= Model.PrimaryKeyName #>}) + + @*@Html.ActionLink("Edit", "Edit", New With {.id = itemValue.PrimaryKey}) | + @Html.ActionLink("Details", "Details", New With {.id = itemValue.PrimaryKey}) | + @Html.ActionLink("Delete", "Delete", New With {.id = itemValue.PrimaryKey})*@ + + @<#= modelProp.ValueExpression.Replace("Model.", "itemValue.") #> +
      +<#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/MvcScaffolding.RazorView.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/MvcScaffolding.RazorView.ps1 new file mode 100644 index 0000000..d598f47 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/MvcScaffolding.RazorView.ps1 @@ -0,0 +1,60 @@ +[T4Scaffolding.ViewScaffolder("Razor", Description = "Adds an ASP.NET MVC view using the Razor view engine", IsRazorType = $true, LayoutPageFilter = "*.cshtml,*.vbhtml|*.cshtml,*.vbhtml")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)][string]$Controller, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 1)][string]$ViewName, + [string]$ModelType, + [string]$Template = "Empty", + [string]$Area, + [alias("MasterPage")]$Layout, # If not set, we'll use the default layout + [string[]]$SectionNames, + [string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +# Ensure this is a valid target project +if (!((Get-ProjectAspNetMvcVersion -Project $Project) -ge 3)) { + Write-Error ("Project '$((Get-Project $Project).Name)' is not an ASP.NET MVC 3 project.") + return +} + +# Ensure we have a controller name, plus a model type if specified +if ($ModelType) { + $foundModelType = Get-ProjectType $ModelType -Project $Project + if (!$foundModelType) { return } + $primaryKeyName = [string](Get-PrimaryKey $foundModelType.FullName -Project $Project) +} + +# Decide where to put the output +$outputFolderName = Join-Path Views $Controller +if ($Area) { + # We don't create areas here, so just ensure that if you specify one, it already exists + $areaPath = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaPath -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputFolderName = Join-Path $areaPath $outputFolderName +} + + +if ($foundModelType) { $relatedEntities = [Array](Get-RelatedEntities $foundModelType.FullName -Project $project) } +if (!$relatedEntities) { $relatedEntities = @() } + +# Render the T4 template, adding the output to the Visual Studio project +$outputPath = Join-Path $outputFolderName $ViewName +Add-ProjectItemViaTemplate $outputPath -Template $Template -Model @{ + IsContentPage = [bool]$Layout; + Layout = $Layout; + SectionNames = $SectionNames; + PrimarySectionName = $PrimarySectionName; + ReferenceScriptLibraries = $ReferenceScriptLibraries.ToBool(); + ViewName = $ViewName; + PrimaryKeyName = $primaryKeyName; + ViewDataType = [MarshalByRefObject]$foundModelType; + ViewDataTypeName = $foundModelType.Name; + RelatedEntities = $relatedEntities; +} -SuccessMessage "Added $ViewName view at '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.cs.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.cs.t4 new file mode 100644 index 0000000..29673c0 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.cs.t4 @@ -0,0 +1,139 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="cshtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<# var viewDataType = (EnvDTE.CodeType) Model.ViewDataType; #> +<# if(viewDataType != null) { #> +@model <#= viewDataType.FullName #> + +<# } #> +@* This partial view defines form fields that will appear when creating and editing entities *@ + +<# +foreach (ModelProperty property in GetModelProperties(Model.ViewDataType, false)) { + if (!property.IsPrimaryKey && !property.IsForeignKey && !property.IsReadOnly) { +#> +
      + @Html.LabelFor(model => model.<#= property.Name #>) +
      +
      + @Html.EditorFor(model => model.<#= property.Name #>) + @Html.ValidationMessageFor(model => model.<#= property.Name #>) +
      + +<# + } +} +#> +<# +foreach (RelatedEntityInfo relation in ParentRelations) { +#> +
      + <#= relation.RelationName #> +
      +
      + @Html.DropDownListFor(model => model.<#= relation.RelationProperty.Name #>, ((IEnumerable<<#= relation.RelatedEntityType.FullName #>>)ViewBag.Possible<#= relation.RelationNamePlural #>).Select(option => new SelectListItem { + Text = <#= GetValueExpression("option", relation.RelatedEntityType) #>, + Value = option.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), + Selected = (Model != null) && (option.<#= relation.RelatedEntityPrimaryKeyName #> == Model.<#= relation.RelationProperty.Name #>) + }), "Choose...") + @Html.ValidationMessageFor(model => model.<#= relation.RelationProperty.Name #>) +
      +<# +} +#> +<#+ +// Describes the information about a property on the model +class ModelProperty { + public string Name { get; set; } + public string ValueExpression { get; set; } + public EnvDTE.CodeTypeRef Type { get; set; } + public bool IsPrimaryKey { get; set; } + public bool IsForeignKey { get; set; } + public bool IsReadOnly { get; set; } +} + +// Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +static Type[] bindableNonPrimitiveTypes = new[] { + typeof(string), + typeof(decimal), + typeof(Guid), + typeof(DateTime), + typeof(DateTimeOffset), + typeof(TimeSpan), +}; + +// Call this to get the list of properties in the model. Change this to modify or add your +// own default formatting for display values. +List GetModelProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = GetEligibleProperties(typeInfo, includeUnbindableProperties); + + foreach (ModelProperty prop in results) { + if (prop.Type.UnderlyingTypeIs() || prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:F}\", " + prop.ValueExpression + ")"; + } + else if (prop.Type.UnderlyingTypeIs()) { + prop.ValueExpression = "String.Format(\"{0:g}\", " + prop.ValueExpression + ")"; + } + else if (!IsBindableType(prop.Type)) { + prop.ValueExpression = GetValueExpression("Model." + prop.Name, (EnvDTE.CodeType)prop.Type.CodeType); + } + } + + return results; +} + +// Change this list to include the names of properties that should be selected to represent an entity as a single string +static string[] displayPropertyNames = new[] { "Name", "Title", "LastName", "Surname", "Subject", "Count" }; + +string GetValueExpression(string propertyExpression, EnvDTE.CodeType propertyType) { + if (propertyType != null) { + var chosenSubproperty = propertyType.DisplayColumnProperty() ?? propertyType.FindProperty(displayPropertyNames); + if (chosenSubproperty != null) { + var toStringSuffix = chosenSubproperty.Type.AsFullName == "System.String" ? "" : ".ToString()"; + return String.Format("({0} == null ? \"None\" : {0}.{1}{2})", propertyExpression, chosenSubproperty.Name, toStringSuffix); + } + } + return "Html.DisplayTextFor(_ => " + propertyExpression + ").ToString()"; +} + +// Helper +List GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) { + List results = new List(); + if (typeInfo != null) { + foreach (var prop in typeInfo.VisibleMembers().OfType()) { + if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) { + results.Add(new ModelProperty { + Name = prop.Name, + ValueExpression = "Model." + prop.Name, + Type = prop.Type, + IsPrimaryKey = Model.PrimaryKeyName == prop.Name, + IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop), + IsReadOnly = !prop.IsWriteable() + }); + } + } + } + + return results; +} + +IEnumerable ParentRelations { + get { return ((IEnumerable)Model.RelatedEntities).OfType().Where(x => x.RelationType == RelationType.Parent); } +} + +// Helper +bool IsBindableType(EnvDTE.CodeTypeRef type) { + return type.UnderlyingIsPrimitive() || bindableNonPrimitiveTypes.Any(x => type.UnderlyingTypeIs(x)); +} +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.vb.t4 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.vb.t4 new file mode 100644 index 0000000..972c822 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/RazorView/_CreateOrEdit.vb.t4 @@ -0,0 +1,137 @@ +<#@ Template Language="VB" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output extension="vbhtml" #> +<#@ assembly name="System.ComponentModel.DataAnnotations" #> +<#@ assembly name="System.Core" #> +<#@ assembly name="System.Data.Entity" #> +<#@ assembly name="System.Data.Linq" #> +<#@ import namespace="System" #> +<#@ import namespace="System.Collections" #> +<#@ import namespace="System.Collections.Generic" #> +<#@ import namespace="System.ComponentModel.DataAnnotations" #> +<#@ import namespace="System.Data.Linq.Mapping" #> +<#@ import namespace="System.Data.Objects.DataClasses" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="System.Reflection" #> +<#@ import namespace="EnvDTE" #> +<# Dim viewDataType = CType(Model.ViewDataType, CodeType) #> +<# If viewDataType IsNot Nothing #> +@ModelType <#= viewDataType.FullName #> + +<# End If #> +@* This partial view defines form fields that will appear when creating and editing entities *@ + +<# +For Each modelProp As ModelProperty In GetModelProperties(Model.ViewDataType, False) + If (Not modelProp.IsPrimaryKey) AndAlso (Not modelProp.IsForeignKey) AndAlso (Not modelProp.IsReadOnly) Then +#> +
      + @Html.LabelFor(Function(model) model.<#= modelProp.Name #>) +
      +
      + @Html.EditorFor(Function(model) model.<#= modelProp.Name #>) + @Html.ValidationMessageFor(Function(model) model.<#= modelProp.Name #>) +
      + +<# + End If +Next +#> +<# For Each relation As RelatedEntityInfo In ParentRelations #> +
      + <#= relation.RelationName #> +
      +
      + @Html.DropDownListFor(Function(model) model.<#= relation.RelationProperty.Name #>, CType(ViewBag.Possible<#= relation.RelationNamePlural #>, IEnumerable(Of <#= relation.RelatedEntityType.FullName #>)).Select(Function(optionValue) New SelectListItem() With { _ + .Text = <#= GetValueExpression("optionValue", relation.RelatedEntityType) #>, _ + .Value = optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.ToString(), _ + .Selected = (Model IsNot Nothing) AndAlso (optionValue.<#= relation.RelatedEntityPrimaryKeyName #>.Equals(Model.<#= relation.RelationProperty.Name #>)) _ + }), "Choose...") + @Html.ValidationMessageFor(Function(model) model.<#= relation.RelationProperty.Name #>) +
      +<# Next #><#+ +' Describes the information about a property on the model +Private Class ModelProperty + Public Name As String + Public ValueExpression As String + Public Type As CodeTypeRef + Public IsReadOnly As Boolean + Public IsPrimaryKey As Boolean + Public IsForeignKey As Boolean +End Class + +' Change this list to include any non-primitive types you think should be eligible to be edited using a textbox +Private Shared bindableNonPrimitiveTypes As Type() = New Type() { + GetType(String), + GetType(Decimal), + GetType(Guid), + GetType(DateTime), + GetType(DateTimeOffset), + GetType(TimeSpan) +} + +' Call this to get the list of properties in the model. Change this to modify or add your +' own default formatting for display values. +Private Function GetModelProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As List(Of ModelProperty) = GetEligibleProperties(type, includeUnbindableProperties) + + For Each modelProp As ModelProperty In results + If ((modelProp.Type.UnderlyingTypeIs(GetType(Double))) OrElse (modelProp.Type.UnderlyingTypeIs(GetType(Decimal)))) Then + modelProp.ValueExpression = ("String.Format(""{0:F}"", " & modelProp.ValueExpression & ")") + ElseIf (modelProp.Type.UnderlyingTypeIs(GetType(DateTime))) Then + modelProp.ValueExpression = ("String.Format(""{0:g}"", " & modelProp.ValueExpression & ")") + ElseIf (Not IsBindableType(modelProp.Type)) + modelProp.ValueExpression = GetValueExpression("Model." & modelProp.Name, CType(modelProp.Type.CodeType, CodeType)) + End If + Next + + Return results +End Function + +' Change this list to include the names of properties that should be selected to represent an entity as a single string +Private Shared displayPropertyNames As String() = New String() { "Name", "Title", "LastName", "Surname", "Subject", "Count" } + +Private Function GetValueExpression(ByVal propertyExpression As String, ByVal propertyType As CodeType) As String + If propertyType IsNot Nothing Then + Dim chosenSubproperty = If(propertyType.DisplayColumnProperty(), propertyType.FindProperty(displayPropertyNames)) + If chosenSubproperty IsNot Nothing Then + Dim toStringSuffix = If(chosenSubproperty.Type.AsFullName = "System.String", "", ".ToString()") + Return String.Format("(If({0} Is Nothing, ""None"", {0}.{1}{2}))", propertyExpression, chosenSubproperty.Name, toStringSuffix) + End If + End If + Return "Html.DisplayTextFor(Function(model) " & propertyExpression & ").ToString()" +End Function + +' Helper +Private Function GetEligibleProperties(ByVal type As CodeType, ByVal includeUnbindableProperties As Boolean) As List(Of ModelProperty) + Dim results As New List(Of ModelProperty) + + If type IsNot Nothing Then + For Each prop As CodeProperty In type.VisibleMembers().OfType(Of CodeProperty)() + Dim propValue = prop + If (prop.IsReadable() AndAlso (Not prop.HasIndexParameters()) AndAlso (includeUnbindableProperties OrElse IsBindableType(prop.Type))) Then + results.Add(New ModelProperty() With { _ + .Name = prop.Name, _ + .ValueExpression = ("Model." & prop.Name), _ + .Type = prop.Type, _ + .IsPrimaryKey = Model.PrimaryKeyName = prop.Name, _ + .IsReadOnly = Not prop.IsWriteable(), _ + .IsForeignKey = ParentRelations.Any(Function(x) propValue.Name = x.RelationProperty.Name) _ + }) + End If + Next + End If + + Return results +End Function + +Private ReadOnly Property ParentRelations As IEnumerable(Of RelatedEntityInfo) + Get + Return CType(Model.RelatedEntities, IEnumerable).OfType(Of RelatedEntityInfo)().Where(Function(x) x.RelationType = RelationType.Parent) + End Get +End Property + +' Helper +Private Function IsBindableType(ByVal type As CodeTypeRef) As Boolean + Return type.UnderlyingIsPrimitive() OrElse bindableNonPrimitiveTypes.Any(Function(x) type.UnderlyingTypeIs(x)) +End Function +#> \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Views/MvcScaffolding.Views.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Views/MvcScaffolding.Views.ps1 new file mode 100644 index 0000000..6e33fce --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/Views/MvcScaffolding.Views.ps1 @@ -0,0 +1,19 @@ +[T4Scaffolding.Scaffolder(Description = "Adds ASP.NET MVC views for Create/Read/Update/Delete/Index scenarios")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true, Position = 0)][string]$Controller, + [string]$ModelType, + [string]$Area, + [alias("MasterPage")]$Layout, # If not set, we'll use the default layout + [alias("ContentPlaceholderIDs")][string[]]$SectionNames, + [alias("PrimaryContentPlaceholderID")][string]$PrimarySectionName, + [switch]$ReferenceScriptLibraries = $false, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [string]$ViewScaffolder = "View", + [switch]$Force = $false +) + +@("Create", "Edit", "Delete", "Details", "Index", "_CreateOrEdit") | %{ + Scaffold $ViewScaffolder -Controller $Controller -ViewName $_ -ModelType $ModelType -Template $_ -Area $Area -Layout $Layout -SectionNames $SectionNames -PrimarySectionName $PrimarySectionName -ReferenceScriptLibraries:$ReferenceScriptLibraries -Project $Project -CodeLanguage $CodeLanguage -OverrideTemplateFolders $TemplateFolders -Force:$Force -BlockUi +} \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/init.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/init.ps1 new file mode 100644 index 0000000..0399a4e --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/init.ps1 @@ -0,0 +1,16 @@ +param($rootPath, $toolsPath, $package, $project) + +# Note that as of NuGet 1.0, the init.ps1 scripts run in an undefined order, +# so this script must not depend on T4Scaffolding already being initialized. + +# Simplistic tab expansion +if (!$global:scaffolderTabExpansion) { $global:scaffolderTabExpansion = @{ } } +$global:scaffolderTabExpansion["MvcScaffolding.RazorView"] = $global:scaffolderTabExpansion["MvcScaffolding.AspxView"] = { + param($filter, $allTokens) + $secondLastToken = $allTokens[-2] + if ($secondLastToken -eq 'Template') { + return @("Create", "Delete", "Details", "Edit", "Index") + } +} + +. (Join-Path $toolsPath "registerWithMvcTooling.ps1") \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/install.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/install.ps1 new file mode 100644 index 0000000..2c562b5 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/install.ps1 @@ -0,0 +1,31 @@ +param($rootPath, $toolsPath, $package, $project) + +# Bail out if scaffolding is disabled (probably because you're running an incompatible version of NuGet) +if (-not (Get-Command Invoke-Scaffolder)) { return } + +function CountSolutionFilesByExtension($extension) { + $files = (Get-Project).DTE.Solution ` + | ?{ $_.FileName } ` + | %{ [System.IO.Path]::GetDirectoryName($_.FileName) } ` + | %{ [System.IO.Directory]::EnumerateFiles($_, "*." + $extension, [System.IO.SearchOption]::AllDirectories) } + ($files | Measure-Object).Count +} + +function InferPreferredViewEngine() { + # Assume you want Razor except if you already have some ASPX views and no Razor ones + if ((CountSolutionFilesByExtension aspx) -eq 0) { return "razor" } + if (((CountSolutionFilesByExtension cshtml) -gt 0) -or ((CountSolutionFilesByExtension vbhtml) -gt 0)) { return "razor" } + return "aspx" +} + +if ($project) { $projectName = $project.Name } +Get-ProjectItem "InstallationDummyFile.txt" -Project $projectName | %{ $_.Delete() } + +Set-DefaultScaffolder -Name Controller -Scaffolder MvcScaffolding.Controller -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name Views -Scaffolder MvcScaffolding.Views -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name Action -Scaffolder MvcScaffolding.Action -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name UnitTest -Scaffolder MvcScaffolding.ActionUnitTest -SolutionWide -DoNotOverwriteExistingSetting + +# Infer which view engine you're using based on the files in your project +$viewScaffolder = if ([string](InferPreferredViewEngine) -eq 'aspx') { "MvcScaffolding.AspxView" } else { "MvcScaffolding.RazorView" } +Set-DefaultScaffolder -Name View -Scaffolder $viewScaffolder -SolutionWide -DoNotOverwriteExistingSetting \ No newline at end of file diff --git a/CharityPortal/packages/MvcScaffolding.1.0.0/tools/registerWithMvcTooling.ps1 b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/registerWithMvcTooling.ps1 new file mode 100644 index 0000000..ffa8c16 --- /dev/null +++ b/CharityPortal/packages/MvcScaffolding.1.0.0/tools/registerWithMvcTooling.ps1 @@ -0,0 +1,138 @@ +# Ensure we're on the right version of the tooling. If not, there's nothing for us to do here. +$toolingExists = [System.AppDomain]::CurrentDomain.GetAssemblies() | ?{ $_.GetType("Microsoft.VisualStudio.Web.Mvc.Scaffolding.ScaffolderProviders") } +if (!$toolingExists) { return } + +# Todo: Scope the following to this module if possible +function global:MvcScaffoldingHashTableToPsObject($hashOfScriptMethods) { + $result = New-Object PSObject + $hashOfScriptMethods.Keys | %{ Add-Member -InputObject $result -Member ScriptMethod -Name $_ -Value $hashOfScriptMethods[$_] } + $result +} + +function global:MvcScaffoldingInvokeViaScriptExecutor($scriptToExecute) { + $completeScript = @" + try { + # Activate output pane + `$packageManagerOutputPaneGuid = "{CEC55EC8-CC51-40E7-9243-57B87A6F6BEB}" + `$dteService = [NuGet.VisualStudio.ServiceLocator].GetMethods() | ?{ `$_.Name -eq 'GetInstance' } | %{ `$_.MakeGenericMethod([Microsoft.VisualStudio.Shell.Interop.SDTE]).Invoke(`$null, [Array]`$null) } + `$outputWindow = `$dteService.Windows.Item([EnvDTE.Constants]::vsWindowKindOutput) + `$packageManagerOutputPane = `$outputWindow.Object.OutputWindowPanes.Item(`$packageManagerOutputPaneGuid) + `$packageManagerOutputPane.Clear() + `$packageManagerOutputPane.Activate() + `$outputWindow.Activate() + + # Invoke requested script + $scriptToExecute + } catch { + [System.Windows.Forms.MessageBox]::Show("An error occurred during scaffolding:`n`n`$(`$_.Exception.ToString())`n`nYou may need to upgrade to a newer version of MvcScaffolding.", "Scaffolding error", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null + } +"@ + try { + # Write the script to disk + $tempDir = Join-Path $env:Temp ([System.Guid]::NewGuid()) + $tempScriptFilename = Join-Path $tempDir "tools\tempScript.ps1" + md $tempdir + md ([System.IO.Path]::GetDirectoryName($tempScriptFilename)) + Set-Content -Path $tempScriptFilename -Value $completeScript + + # Ensure we're on the right NuGet version + $scriptExecutorExists = [System.AppDomain]::CurrentDomain.GetAssemblies() | ?{ $_.GetType("NuGet.VisualStudio.IScriptExecutor") } + if (!$scriptExecutorExists) { + [System.Windows.Forms.MessageBox]::Show("Sorry, this operation requires NuGet 1.2 or later.", "Scaffolding error", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null + return + } + + # Invoke via IScriptExecutor, then clean up + $scriptExecutor = [NuGet.VisualStudio.ServiceLocator].GetMethods() | ?{ $_.Name -eq 'GetInstance' } | %{ $_.MakeGenericMethod([NuGet.VisualStudio.IScriptExecutor]).Invoke($null, [Array]$null) } + $scriptExecutor.Execute($tempDir, "tempScript.ps1", $null, $null, (New-Object NuGet.NullLogger)) + rmdir $tempdir -Force -Recurse + } catch { + [System.Windows.Forms.MessageBox]::Show("An error occurred during scaffolding:`n`n$($_.Exception.ToString())`n`nYou may need to upgrade to a newer version of MvcScaffolding.", "Scaffolding error", [System.Windows.Forms.MessageBoxButtons]::OK, [System.Windows.Forms.MessageBoxIcon]::Error) | Out-Null + } +} + +$mvcScaffoldingProvider = global:MvcScaffoldingHashTableToPsObject @{ + ID = { "{9EC893D9-B925-403C-B785-A50545149521}" }; + GetControllerScaffolders = { + param($project) + $allControllerScaffolders = Get-Scaffolder -Project $project.Name -IncludeHidden | ?{ $_.ScaffolderAttribute -is [T4Scaffolding.ControllerScaffolderAttribute] } + if (!$allControllerScaffolders) { return @() } + + $result = $allControllerScaffolders | %{ + global:MvcScaffoldingHashTableToPsObject @{ + ID = { $_.Name }.GetNewClosure(); + DisplayName = { "MvcScaffolding: " + $_.ScaffolderAttribute.DisplayName }.GetNewClosure(); + SupportsModelType = { $_.ScaffolderAttribute.SupportsModelType }.GetNewClosure(); + SupportsDataContextType = { $_.ScaffolderAttribute.SupportsDataContextType }.GetNewClosure(); + ViewsScaffolders = { + if (!$_.ScaffolderAttribute.SupportsViewScaffolder) { return @() } + $viewScaffolderSelector = $_.ScaffolderAttribute.ViewScaffolderSelector + if (!$viewScaffolderSelector) { $viewScaffolderSelector = [T4Scaffolding.ViewScaffolderAttribute] } + $viewScaffolders = Get-Scaffolder -Project $project.Name -IncludeHidden | ?{ $viewScaffolderSelector.IsAssignableFrom($_.ScaffolderAttribute.GetType()) } + + # Put default view engine at the top of the list so it's the default selection until you choose otherwise + $defaultViewScaffolder = (Get-DefaultScaffolder View).ScaffolderName + $viewScaffolders = $viewScaffolders | Sort-Object { if($_.Name -eq $defaultViewScaffolder) { "" } else { $_.Name } } + + $result = $viewScaffolders | %{ + global:MvcScaffoldingHashTableToPsObject @{ + ID = { $_.Name }.GetNewClosure(); + DisplayName = { $_.ScaffolderAttribute.DisplayName }.GetNewClosure(); + LayoutPageFilter = { $_.ScaffolderAttribute.LayoutPageFilter }.GetNewClosure(); + } + } + return ,[Array]$result + }.GetNewClosure(); + Execute = { + param($container, $controllerName, $modelType, $dataContextType, $viewsScaffolder, $options) + + # Infer possible area name from container location + $areaName = $null + if ($container -is [EnvDTE.ProjectItem]) { + $containerNamespace = $container.Properties.Item("DefaultNamespace").Value + $areaMatch = [System.Text.RegularExpressions.Regex]::Match($containerNamespace, "(^|\.)Areas\.(.*)\.Controllers($|\.)") + $areaName = if ($areaMatch.Success) { $areaMatch.Groups[2].Value } + } + + $scriptToExecute = @" + # These are all the args we may pass to the target scaffolder... + `$possibleArgs = @{ + ControllerName = `"$controllerName`"; + ModelType = `"$modelType`"; + DbContextType = `"$dataContextType`"; + Project = `"$($project.Name)`"; + Area = $(if($areaName) { "`"" + $areaName + "`"" } else { "`$null" }); + ViewScaffolder = $(if($viewsScaffolder) { "`"" + $viewsScaffolder.ID + "`"" } else { "`$null" }); + Force = $(if($options.OverwriteViews -or $options.OverwriteController) { "`$true" } else { "`$false" }); + ForceMode = $(if($options.OverwriteViews -and $options.OverwriteController) { "`$null" } else { if($options.OverwriteViews) { "`"PreserveController`"" } else { "`"ControllerOnly`"" } }); + Layout = $(if($options.UseLayout) { "`"" + $options.Layout + "`"" } else { "`$null" }); + PrimarySectionName = $(if($options.PrimarySectionName) { "`"" + $options.PrimarySectionName + "`"" } else { "`$null" }); + ReferenceScriptLibraries = $(if($options.ReferenceScriptLibraries) { "`$true" } else { "`$false" }); + } + # ... but we only pass the ones it actually accepts + `$actualArgs = @{} + `$acceptedParameterNames = (Get-Command Invoke-Scaffolder -ArgumentList @(`"$($_.Name)`")).Parameters.Keys + `$acceptedParameterNames | ?{ `$possibleArgs.ContainsKey(`"`$_`") } | %{ `$actualArgs.Add(`$_, `$possibleArgs[`$_]) } + Invoke-Scaffolder `"$($_.Name)`" @actualArgs +"@ + global:MvcScaffoldingInvokeViaScriptExecutor $scriptToExecute | Out-Null + + # Trick PowerShell into not unrolling the return collection by wrapping it in a further collection + $result = [System.Activator]::CreateInstance(([System.Collections.Generic.List``1].MakeGenericType([System.Object]))) + $result.Add(([System.Activator]::CreateInstance(([System.Collections.Generic.List``1].MakeGenericType([EnvDTE.ProjectItem]))))) + return $result + }.GetNewClosure(); + } + } + return ,[Array]$result + } +} + +# Remove existing MvcScaffolding providers +$allProviders = [Microsoft.VisualStudio.Web.Mvc.Scaffolding.ScaffolderProviders]::Providers +$existingMvcScaffoldingProviders = $allProviders | ?{ $_.ID -eq $mvcScaffoldingProvider.ID() } +$existingMvcScaffoldingProviders | %{ $allProviders.Remove($_) } | Out-Null + +# Add new provider +$newProvider = New-Object Microsoft.VisualStudio.Web.Mvc.Scaffolding.PowerShell.PowerShellScaffolderProvider($mvcScaffoldingProvider) +$allProviders.Add($newProvider) | Out-Null \ No newline at end of file diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/Newtonsoft.Json.4.0.2.nupkg b/CharityPortal/packages/Newtonsoft.Json.4.0.2/Newtonsoft.Json.4.0.2.nupkg new file mode 100644 index 0000000..684a6f2 Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/Newtonsoft.Json.4.0.2.nupkg differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.dll new file mode 100644 index 0000000..0ad3ba4 Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.dll differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.pdb new file mode 100644 index 0000000..9f24003 Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.pdb differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.xml new file mode 100644 index 0000000..bc8a9f3 --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net20/Newtonsoft.Json.Net20.xml @@ -0,0 +1,6520 @@ + + + + Newtonsoft.Json.Net20 + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.dll new file mode 100644 index 0000000..541ecfc Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.dll differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.pdb new file mode 100644 index 0000000..53158e0 Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.pdb differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.xml new file mode 100644 index 0000000..d6f1b99 --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net35/Newtonsoft.Json.Net35.xml @@ -0,0 +1,6711 @@ + + + + Newtonsoft.Json.Net35 + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Represents a method that constructs an object. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.dll new file mode 100644 index 0000000..282f3b3 Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.dll differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.pdb new file mode 100644 index 0000000..6afbd03 Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.pdb differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.xml new file mode 100644 index 0000000..d5b03b1 --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/net40/Newtonsoft.Json.xml @@ -0,0 +1,6862 @@ + + + + Newtonsoft.Json + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON array. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Serializes the dynamic. + + The writer. + The value. + The contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Represents a method that constructs an object. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.dll new file mode 100644 index 0000000..23b462c Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.dll differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.pdb new file mode 100644 index 0000000..4e1f6d6 Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.pdb differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.xml new file mode 100644 index 0000000..65b7c6f --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl3-wp/Newtonsoft.Json.WindowsPhone.xml @@ -0,0 +1,6331 @@ + + + + Newtonsoft.Json.WindowsPhone + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.dll b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.dll new file mode 100644 index 0000000..7524edd Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.dll differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.pdb b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.pdb new file mode 100644 index 0000000..81738bd Binary files /dev/null and b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.pdb differ diff --git a/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.xml b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.xml new file mode 100644 index 0000000..785f476 --- /dev/null +++ b/CharityPortal/packages/Newtonsoft.Json.4.0.2/lib/sl4/Newtonsoft.Json.Silverlight.xml @@ -0,0 +1,6361 @@ + + + + Newtonsoft.Json.Silverlight + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Gets the type of the current Json token. + + + + + Gets the text value of the current Json token. + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A . + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token. + + The to read the token from. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Indicates how the output is formatted. + + + + + Initializes a new instance of the class. + + The stream. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor then fall back to single paramatized constructor. + + + + + Allow Json.NET to use a non-public default constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Specifies whether a DateTime object represents a local time, a Coordinated Universal Time (UTC), or is not specified as either local time or UTC. + + + + + The time represented is local time. + + + + + The time represented is UTC. + + + + + The time represented is not specified as either local time or Coordinated Universal Time (UTC). + + + + + Preserves the DateTimeKind field of a date when a DateTime object is converted to a string and the string is then converted back to a DateTime object. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + A cached representation of the Enum string representation to respect per Enum field name. + + The type of the Enum. + A map of enum field name to either the field name, or the configured enum member name (). + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + Include default values when serializing and deserializing objects. + + + + + Ignore default values when serializing and deserializing objects. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets or sets a value that indicates whether to preserve object reference data. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An interger. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current Json token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current Json token. + + + + + + Gets The Common Language Runtime (CLR) type for the current Json token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Gets the number of elements contained in the . + + + The number of elements contained in the . + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All members are serialized by default. Members can be excluded using the . + + + + + Only members must be marked with the are serialized. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Resolves the default for the contract. + + Type of the object. + + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether [default creator non public]. + + true if the default object creator is non-public; otherwise, false. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets the name of the property. + + The name of the property. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets the member converter. + + The member converter. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Serializes the dynamic. + + The writer. + The value. + The contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Always include the .NET type name when serializing. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Determines whether the collection is null, empty or its contents are uninitialized values. + + The list. + + true if the collection is null or empty or its contents are uninitialized values; otherwise, false. + + + + + Makes a slice of the specified list in between the start and end indexes. + + The list. + The start index. + The end index. + A slice of the list. + + + + Makes a slice of the specified list in between the start and end indexes, + getting every so many items based upon the step. + + The list. + The start index. + The end index. + The step. + A slice of the list. + + + + Group the collection using a function which returns the key. + + The source collection to group. + The key selector. + A Dictionary with each key relating to a list of objects in a list grouped under it. + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert or cast the value to. + The value to convert. + The culture to use when converting. + The converted type. If conversion was unsuccessful, the initial value is returned if assignable to the target type + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The type to convert the value to. + The value to convert. + The culture to use when converting. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully or is assignable; otherwise, false. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + + + + + Parses the specified enum member name, returning it's value. + + Name of the enum member. + If set to true ignore case. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the maximum valid value of an Enum type. Flags enums are ORed. + + The type of the returned value. Must be assignable from the enum's underlying value type. + The enum type to get the maximum value for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Tests whether the list's items are their unitialized value. + + The list. + Whether the list's items are their unitialized value + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string contains white space. + + The string to test for white space. + + true if the string contains white space; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Ensures the target string ends with the specified string. + + The target. + The value. + The target string with the value string at the end. + + + + Perform an action if the string is not null or empty. + + The value. + The action to perform. + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + + + + + Indents the specified string. + + The string to indent. + The number of characters to indent by. + The indent character. + + + + + Numbers the lines. + + The string to number. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation event. + + The JsonSchemaException associated with the validation event. + + + + Gets the text description corresponding to the validation event. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the identity. + + The identity. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets a collection of options. + + A collection of options. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the extend . + + The extended . + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified id. + + The id. + A for the specified id. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/T4Scaffolding.1.0.1.nupkg b/CharityPortal/packages/T4Scaffolding.1.0.1/T4Scaffolding.1.0.1.nupkg new file mode 100644 index 0000000..e832b53 Binary files /dev/null and b/CharityPortal/packages/T4Scaffolding.1.0.1/T4Scaffolding.1.0.1.nupkg differ diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/content/InstallationDummyFile.txt b/CharityPortal/packages/T4Scaffolding.1.0.1/content/InstallationDummyFile.txt new file mode 100644 index 0000000..79224e9 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/content/InstallationDummyFile.txt @@ -0,0 +1,2 @@ +This file is added as part of the NuGet package installation process for the scaffolding package. +It should be deleted automatically after installation is completed. If not, you can delete it manually. \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultPs1Script.ps1.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultPs1Script.ps1.t4 new file mode 100644 index 0000000..317d2b5 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultPs1Script.ps1.t4 @@ -0,0 +1,17 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="ps1" #> +[T4Scaffolding.Scaffolder(Description = "Enter a description of <#= Model.Scaffolder #> here")][CmdletBinding()] +param( + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +$outputPath = "ExampleOutput" # The filename extension will be added based on the template's <#= "<" #>#@ Output Extension="..." #<#= ">" #> directive +$namespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value + +Add-ProjectItemViaTemplate $outputPath -Template <#= Model.TemplateName #> ` + -Model @{ Namespace = $namespace; ExampleValue = "Hello, world!" } ` + -SuccessMessage "Added <#= Model.Scaffolder #> output at {0}" ` + -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.cs.t4 new file mode 100644 index 0000000..76e87a8 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.cs.t4 @@ -0,0 +1,16 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="cs.t4" #> +<#= "<" #>#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #<#= ">" #> +<#= "<" #>#@ Output Extension="cs" #<#= ">" #> +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; + +namespace <#= "<" #>#= Model.Namespace #<#= ">" #> +{ + public class ExampleOutput + { + // Example model value from scaffolder script: <#= "<" #>#= Model.ExampleValue #<#= ">" #> + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.vb.t4 new file mode 100644 index 0000000..8c7e431 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/DefaultT4Template.vb.t4 @@ -0,0 +1,9 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ Output Extension="vb.t4" #> +<#= "<" #>#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #<#= ">" #> +<#= "<" #>#@ Output Extension="vb" #<#= ">" #> +Namespace <#= "<" #>#= Model.Namespace #<#= ">" #> + Public Class ExampleOutput + ' Example model value from scaffolder script: <#= "<" #>#= Model.ExampleValue #<#= ">" #> + End Class +End Namespace \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/T4Scaffolding.CustomScaffolder.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/T4Scaffolding.CustomScaffolder.ps1 new file mode 100644 index 0000000..9830635 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomScaffolder/T4Scaffolding.CustomScaffolder.ps1 @@ -0,0 +1,23 @@ +[T4Scaffolding.Scaffolder(Description = "Creates an entirely new scaffolder with a PS1 script and a T4 template")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$CustomScaffolderName, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +$templateName = $CustomScaffolderName + "Template" + +# PS1 script +$customScaffoldersPath = [T4Scaffolding.Core.ScaffoldingConstants]::CustomScaffoldersFolderPath +$outputPath = Join-Path (Join-Path $customScaffoldersPath $CustomScaffolderName) $CustomScaffolderName +Add-ProjectItemViaTemplate $outputPath -Template DefaultPs1Script -Model @{ + Scaffolder = $CustomScaffolderName; + TemplateName = $templateName; +} -SuccessMessage "Added scaffolder script '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage "ps1" -Force:$Force + +# T4 template +$outputPath = Join-Path (Join-Path $customScaffoldersPath $CustomScaffolderName) $templateName +Add-ProjectItemViaTemplate $outputPath -Template DefaultT4Template -Model @{ +} -SuccessMessage "Added scaffolder template '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomTemplate/T4Scaffolding.CustomTemplate.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomTemplate/T4Scaffolding.CustomTemplate.ps1 new file mode 100644 index 0000000..51e1b54 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/CustomTemplate/T4Scaffolding.CustomTemplate.ps1 @@ -0,0 +1,45 @@ +[T4Scaffolding.Scaffolder(Description = "Allows you to modify the T4 template rendered by a scaffolder")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ScaffolderName, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$TemplateName, + [string]$Project, + [string]$CodeLanguage, + [switch]$Force = $false +) + +# Ensure we can find a unique scaffolder +$resolvedScaffolder = Get-Scaffolder $ScaffolderName -Project $Project +if (!$resolvedScaffolder) { + Write-Error "Could not find scaffolder '$ScaffolderName'" + return +} elseif ($resolvedScaffolder -is [Array]) { + Write-Error "More than one scaffolder matches the name '$ScaffolderName'" + return +} + +# Find its template +$scaffolderFolder = [System.IO.Path]::GetDirectoryName($resolvedScaffolder.Location) +$sourceTemplateFile = Find-ScaffolderTemplate $TemplateName -TemplateFolders $scaffolderFolder -Project $Project -CodeLanguage $CodeLanguage -ErrorIfNotFound +if (!$sourceTemplateFile) { return } + +# Determine where the output will go in the project, and ensure we're not going to overwrite anything (except if Force is on) +$customScaffoldersPath = [T4Scaffolding.Core.ScaffoldingConstants]::CustomScaffoldersFolderPath +$outputPath = Join-Path (Join-Path $customScaffoldersPath $resolvedScaffolder.Name) ([System.IO.Path]::GetFileName($sourceTemplateFile)) +$existingProjectItem = Get-ProjectItem $outputPath -Project $Project +if ($existingProjectItem -and -not $Force) { + Write-Warning "$outputPath already exists! Pass -Force to overwrite. Skipping..." + return +} + +# Copy the source file to the output location in the project +if ($existingProjectItem) { + $outputPath = $existingProjectItem.Properties.Item("FullPath").Value + Set-IsCheckedOut $outputPath + Copy-Item -Path $sourceTemplateFile -Destination $outputPath -Force +} else { + $outputDir = [System.IO.Path]::GetDirectoryName($outputPath) + $outputDirProjectItem = Get-ProjectFolder $outputDir -Create -Project $Project + $outputDirProjectItem.AddFromFileCopy($sourceTemplateFile) | Out-Null +} + +Write-Host "Added custom template '$outputPath'" \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.cs.t4 new file mode 100644 index 0000000..3323a42 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.cs.t4 @@ -0,0 +1,23 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="cs" #> +using System; +using System.Collections.Generic; +using System.Data.Entity; +using System.Linq; +using System.Web; + +namespace <#= Model.DbContextNamespace #> +{ + public class <#= Model.DbContextType #> : DbContext + { + // You can add custom code to this file. Changes will not be overwritten. + // + // If you want Entity Framework to drop and regenerate your database + // automatically whenever you change your model schema, add the following + // code to the Application_Start method in your Global.asax file. + // Note: this will destroy and re-create your database with every model change. + // + // System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<<#= Model.DbContextNamespace #>.<#= Model.DbContextType #>>()); + + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.vb.t4 new file mode 100644 index 0000000..3cecb23 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContext.vb.t4 @@ -0,0 +1,18 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +<#@ Output Extension="vb" #> +Imports System.Data.Entity + +<#= T4Scaffolding.Namespaces.BeginVb(Model.DbContextNamespace, Model.DefaultNamespace) #> + Public Class <#= Model.DbContextType #> : Inherits DbContext + + ' You can add custom code to this file. Changes will not be overwritten. + ' + ' If you want Entity Framework to drop and regenerate your database + ' automatically whenever you change your model schema, add the following + ' code to the Application_Start method in your Global.asax file. + ' Note: this will destroy and re-create your database with every model change. + ' + ' System.Data.Entity.Database.SetInitializer(New System.Data.Entity.DropCreateDatabaseIfModelChanges(Of <#= Model.DbContextNamespace #>.<#= Model.DbContextType #>)()) + + End Class +<#= T4Scaffolding.Namespaces.EndVb(Model.DbContextNamespace, Model.DefaultNamespace) #> \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.cs.t4 new file mode 100644 index 0000000..0a9c3b3 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.cs.t4 @@ -0,0 +1,2 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +public DbSet<<#= ((EnvDTE.CodeType)Model.EntityType).FullName #>> <#= Model.EntityTypeNamePluralized #> { get; set; } \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.vb.t4 new file mode 100644 index 0000000..e70ed35 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/DbContextEntityMember.vb.t4 @@ -0,0 +1,2 @@ +<#@ Template Language="C#" HostSpecific="True" Inherits="DynamicTransform" #> +Public Property <#= Model.EntityTypeNamePluralized #> As DbSet(Of <#= ((EnvDTE.CodeType)Model.EntityType).FullName #>) \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/T4Scaffolding.EFDbContext.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/T4Scaffolding.EFDbContext.ps1 new file mode 100644 index 0000000..3d932fd --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFDbContext/T4Scaffolding.EFDbContext.ps1 @@ -0,0 +1,81 @@ +[T4Scaffolding.Scaffolder(Description = "Makes an EF DbContext able to persist models of a given type, creating the DbContext first if necessary")][CmdletBinding()] +param( + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ModelType, + [parameter(Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$DbContextType, + [string]$Area, + [string]$Project, + [string]$CodeLanguage, + [string[]]$TemplateFolders +) + +# Ensure we can find the model type +$foundModelType = Get-ProjectType $ModelType -Project $Project +if (!$foundModelType) { return } + +# Find the DbContext class, or create it via a template if not already present +$foundDbContextType = Get-ProjectType $DbContextType -Project $Project -AllowMultiple +if (!$foundDbContextType) { + # Determine where the DbContext class will go + $defaultNamespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value + if ($DbContextType.Contains(".")) { + if ($DbContextType.StartsWith($defaultNamespace + ".", [System.StringComparison]::OrdinalIgnoreCase)) { + $DbContextType = $DbContextType.Substring($defaultNamespace.Length + 1) + } + $outputPath = $DbContextType.Replace(".", [System.IO.Path]::DirectorySeparatorChar) + $DbContextType = [System.IO.Path]::GetFileName($outputPath) + } else { + $outputPath = Join-Path Models $DbContextType + if ($Area) { + $areaFolder = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaFolder -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputPath = Join-Path $areaFolder $outputPath + } + } + + $dbContextNamespace = [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + "." + [System.IO.Path]::GetDirectoryName($outputPath).Replace([System.IO.Path]::DirectorySeparatorChar, ".")) + Add-ProjectItemViaTemplate $outputPath -Template DbContext -Model @{ + DefaultNamespace = $defaultNamespace; + DbContextNamespace = $dbContextNamespace; + DbContextType = $DbContextType; + } -SuccessMessage "Added database context '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force + + $foundDbContextType = Get-ProjectType ($dbContextNamespace + "." + $DbContextType) -Project $Project + if (!$foundDbContextType) { throw "Created database context $DbContextType, but could not find it as a project item" } +} elseif (($foundDbContextType | Measure-Object).Count -gt 1) { + throw "Cannot find the database context class, because more than one type is called $DbContextType. Try specifying the fully-qualified type name, including namespace." +} + +# Add a new property on the DbContext class +if ($foundDbContextType) { + $propertyName = Get-PluralizedWord $foundModelType.Name + + # If this is not a DbContext, we can't add a new property, so ensure there is already one + # Unfortunately we have to use the awkward "PowerShellInvoke" calling mechanism otherwise + # the PowerShell COM wrapper objects can't be passed into the .NET code. + $isAssignableToParamTypes = New-Object System.Type[] 2 + $isAssignableToParamTypes[0] = [EnvDTE.CodeType] + $isAssignableToParamTypes[1] = [System.String] + $isDbContext = [T4Scaffolding.Core.EnvDTE.EnvDTEExtensions]::PowerShellInvoke([T4Scaffolding.Core.EnvDTE.EnvDTEExtensions].GetMethod("IsAssignableTo", $isAssignableToParamTypes), $null, @($foundDbContextType, "System.Data.Entity.DbContext")) + if (!$isDbContext) { + $existingMembers = [T4Scaffolding.Core.EnvDTE.EnvDTEExtensions]::PowerShellInvoke([T4Scaffolding.Core.EnvDTE.EnvDTEExtensions].GetMethod("VisibleMembers"), $null, $foundDbContextType) + $hasExistingPropertyForModel = $existingMembers | ?{ ($_.Name -eq $propertyName) -and ($_.Kind -eq [EnvDTE.vsCMElement]::vsCMElementProperty) } + if ($hasExistingPropertyForModel) { + Write-Warning "$($foundDbContextType.Name) already contains a '$propertyName' property." + } else { + throw "$($foundDbContextType.FullName) is not a System.Data.Entity.DbContext class and does not contain a '$propertyName' property, so it cannot be used as the database context." + } + } else { + # This *is* a DbContext, so we can freely add a new property if there isn't already one for this model + Add-ClassMemberViaTemplate -Name $propertyName -CodeClass $foundDbContextType -Template DbContextEntityMember -Model @{ + EntityType = $foundModelType; + EntityTypeNamePluralized = $propertyName; + } -SuccessMessage "Added '$propertyName' to database context '$($foundDbContextType.FullName)'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage + } +} + +return @{ + DbContextType = $foundDbContextType +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.cs.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.cs.t4 new file mode 100644 index 0000000..f34b04a --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.cs.t4 @@ -0,0 +1,103 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="EnvDTE" #> +<#@ Output Extension="cs" #> +using System; +using System.Collections.Generic; +using System.Data; +using System.Data.Entity; +using System.Linq; +using System.Linq.Expressions; +using System.Web; +<# foreach(var ns in new[] { Model.ModelTypeNamespace, Model.DbContextNamespace }.Where(x => !string.IsNullOrEmpty(x) && (x != Model.RepositoryNamespace)).Distinct()) { #> +using <#= ns #>; +<# } #> + +namespace <#= Model.RepositoryNamespace #> +{ +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var contextName = ((CodeType)Model.DbContextType).Name; + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + public class <#= modelName #>Repository : I<#= modelName #>Repository + { + <#= contextName #> context = new <#= contextName #>(); + + public IQueryable<<#= modelName #>> All + { + get { return context.<#= modelNamePlural #>; } + } + + public IQueryable<<#= modelName #>> AllIncluding(params Expression, object>>[] includeProperties) + { + IQueryable<<#= modelName #>> query = context.<#= modelNamePlural #>; + foreach (var includeProperty in includeProperties) { + query = query.Include(includeProperty); + } + return query; + } + + public <#= modelName #> Find(<#= primaryKeyProperty.Type.AsString #> id) + { +<# if(isObjectContext) { #> + return context.<#= modelNamePlural #>.Single(x => x.<#= Model.PrimaryKey #> == id); +<# } else { #> + return context.<#= modelNamePlural #>.Find(id); +<# } #> + } + + public void InsertOrUpdate(<#= modelName #> <#= modelName.ToLower() #>) + { + if (<#= modelName.ToLower() #>.<#= Model.PrimaryKey #> == default(<#= primaryKeyProperty.Type.AsString #>)) { + // New entity +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelName.ToLower() #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid(); +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelName.ToLower() #>); +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelName.ToLower() #>); +<# } #> + } else { + // Existing entity +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelName.ToLower() #>); + context.ObjectStateManager.ChangeObjectState(<#= modelName.ToLower() #>, EntityState.Modified); +<# } else { #> + context.Entry(<#= modelName.ToLower() #>).State = EntityState.Modified; +<# } #> + } + } + + public void Delete(<#= primaryKeyProperty.Type.AsString #> id) + { +<# if(isObjectContext) { #> + var <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Single(x => x.<#= Model.PrimaryKey #> == id); + context.<#= modelNamePlural #>.DeleteObject(<#= modelName.ToLower() #>); +<# } else { #> + var <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Find(id); + context.<#= modelNamePlural #>.Remove(<#= modelName.ToLower() #>); +<# } #> + } + + public void Save() + { + context.SaveChanges(); + } + } + + public interface I<#= modelName #>Repository + { + IQueryable<<#= modelName #>> All { get; } + IQueryable<<#= modelName #>> AllIncluding(params Expression, object>>[] includeProperties); + <#= modelName #> Find(<#= primaryKeyProperty.Type.AsString #> id); + void InsertOrUpdate(<#= modelName #> <#= modelName.ToLower() #>); + void Delete(<#= primaryKeyProperty.Type.AsString #> id); + void Save(); + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.vb.t4 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.vb.t4 new file mode 100644 index 0000000..5d0d176 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/Repository.vb.t4 @@ -0,0 +1,91 @@ +<#@ template language="C#" HostSpecific="True" inherits="DynamicTransform" #> +<#@ assembly name="System.Data.Entity" #> +<#@ import namespace="System.Linq" #> +<#@ import namespace="EnvDTE" #> +<#@ Output Extension="vb" #> +Imports System.Data.Entity +Imports System.Linq.Expressions +<# foreach(var ns in new[] { Model.ModelTypeNamespace, Model.DbContextNamespace }.Where(x => !string.IsNullOrEmpty(x) && (x != Model.RepositoryNamespace)).Distinct()) { #> +Imports <#= ns #> +<# } #> + +<#= T4Scaffolding.Namespaces.BeginVb(Model.RepositoryNamespace, Model.DefaultNamespace) #> +<# + var modelType = (CodeType)Model.ModelType; + var modelName = modelType.Name; + var modelNamePlural = Model.ModelTypePluralized; + var contextName = ((CodeType)Model.DbContextType).Name; + var primaryKeyProperty = modelType.VisibleMembers().OfType().Single(x => x.Name == Model.PrimaryKey); + var isObjectContext = ((CodeType)Model.DbContextType).IsAssignableTo(); +#> + Public Class <#= modelName #>Repository : Implements I<#= modelName #>Repository + Private context As <#= contextName #> = New <#= contextName #>() + + Public ReadOnly Property All As IQueryable(Of <#= modelName #>) Implements I<#= modelName #>Repository.All + Get + Return context.<#= modelNamePlural #> + End Get + End Property + + Public Function AllIncluding(ByVal ParamArray includeProperties() As Expression(Of Func(Of <#= modelName #>, Object))) As IQueryable(Of <#= modelName #>) Implements I<#= modelName #>Repository.AllIncluding + Dim query As IQueryable(Of <#= modelName #>) = context.<#= modelNamePlural #> + For Each includeProperty In includeProperties + query = query.Include(includeProperty) + Next + Return query + End Function + + Public Function Find(id As <#= primaryKeyProperty.Type.AsString #>) As <#= modelName #> Implements I<#= modelName #>Repository.Find +<# if(isObjectContext) { #> + Return context.<#= modelNamePlural #>.Single(Function(x) x.<#= Model.PrimaryKey #> = id) +<# } else { #> + Return context.<#= modelNamePlural #>.Find(id) +<# } #> + End Function + + Public Sub InsertOrUpdate(<#= modelName.ToLower() #> As <#= modelName #>) Implements I<#= modelName #>Repository.InsertOrUpdate + If <#= modelName.ToLower() #>.<#= Model.PrimaryKey #> = Nothing Then + ' New entity +<# if(primaryKeyProperty.Type.AsString == "System.Guid") { #> + <#= modelName.ToLower() #>.<#= primaryKeyProperty.Name #> = Guid.NewGuid() +<# } #> +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.AddObject(<#= modelName.ToLower() #>) +<# } else { #> + context.<#= modelNamePlural #>.Add(<#= modelName.ToLower() #>) +<# } #> + Else + ' Existing entity +<# if(isObjectContext) { #> + context.<#= modelNamePlural #>.Attach(<#= modelName.ToLower() #>) + context.ObjectStateManager.ChangeObjectState(<#= modelName.ToLower() #>, EntityState.Modified) +<# } else { #> + context.Entry(<#= modelName.ToLower() #>).State = EntityState.Modified +<# } #> + End If + End Sub + + Public Sub Delete(id As <#= primaryKeyProperty.Type.AsString #>) Implements I<#= modelName #>Repository.Delete +<# if(isObjectContext) { #> + Dim <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Single(Function(x) x.<#= Model.PrimaryKey #> = id) + context.<#= modelNamePlural #>.DeleteObject(<#= modelName.ToLower() #>) +<# } else { #> + Dim <#= modelName.ToLower() #> = context.<#= modelNamePlural #>.Find(id) + context.<#= modelNamePlural #>.Remove(<#= modelName.ToLower() #>) +<# } #> + End Sub + + Public Sub Save() Implements I<#= modelName #>Repository.Save + context.SaveChanges() + End Sub + End Class + + Public Interface I<#= modelName #>Repository + ReadOnly Property All As IQueryable(Of <#= modelName #>) + Function AllIncluding(ByVal ParamArray includeProperties() As Expression(Of Func(Of <#= modelName #>, Object))) As IQueryable(Of <#= modelName #>) + Function Find(id As <#= primaryKeyProperty.Type.AsString #>) As <#= modelName #> + Sub InsertOrUpdate(<#= modelName.ToLower() #> As <#= modelName #>) + Sub Delete(id As <#= primaryKeyProperty.Type.AsString #>) + Sub Save() + End Interface +<#= T4Scaffolding.Namespaces.EndVb(Model.RepositoryNamespace, Model.DefaultNamespace) #> \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/T4Scaffolding.EFRepository.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/T4Scaffolding.EFRepository.ps1 new file mode 100644 index 0000000..95f4863 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/EFRepository/T4Scaffolding.EFRepository.ps1 @@ -0,0 +1,57 @@ +[T4Scaffolding.Scaffolder(Description = "Creates a repository")][CmdletBinding()] +param( + [parameter(Position = 0, Mandatory = $true, ValueFromPipelineByPropertyName = $true)][string]$ModelType, + [string]$DbContextType, + [string]$Area, + [string]$Project, + [string]$CodeLanguage, + [switch]$NoChildItems = $false, + [string[]]$TemplateFolders, + [switch]$Force = $false +) + +# Ensure you've referenced System.Data.Entity +(Get-Project $Project).Object.References.Add("System.Data.Entity") | Out-Null + +$foundModelType = Get-ProjectType $ModelType -Project $Project -BlockUi +if (!$foundModelType) { return } + +$primaryKey = Get-PrimaryKey $foundModelType.FullName -Project $Project -ErrorIfNotFound +if (!$primaryKey) { return } + +if(!$DbContextType) { $DbContextType = [System.Text.RegularExpressions.Regex]::Replace((Get-Project $Project).Name, "[^a-zA-Z0-9]", "") + "Context" } + +$outputPath = Join-Path Models ($foundModelType.Name + "Repository") +if ($Area) { + $areaFolder = Join-Path Areas $Area + if (-not (Get-ProjectItem $areaFolder -Project $Project)) { + Write-Error "Cannot find area '$Area'. Make sure it exists already." + return + } + $outputPath = Join-Path $areaFolder $outputPath +} + +if (!$NoChildItems) { + $dbContextScaffolderResult = Scaffold DbContext -ModelType $ModelType -DbContextType $DbContextType -Area $Area -Project $Project -CodeLanguage $CodeLanguage -BlockUi + $foundDbContextType = $dbContextScaffolderResult.DbContextType + if (!$foundDbContextType) { return } +} +if (!$foundDbContextType) { $foundDbContextType = Get-ProjectType $DbContextType -Project $Project } +if (!$foundDbContextType) { return } + +$modelTypePluralized = Get-PluralizedWord $foundModelType.Name +$defaultNamespace = (Get-Project $Project).Properties.Item("DefaultNamespace").Value +$repositoryNamespace = [T4Scaffolding.Namespaces]::Normalize($defaultNamespace + "." + [System.IO.Path]::GetDirectoryName($outputPath).Replace([System.IO.Path]::DirectorySeparatorChar, ".")) +$modelTypeNamespace = [T4Scaffolding.Namespaces]::GetNamespace($foundModelType.FullName) + +Add-ProjectItemViaTemplate $outputPath -Template Repository -Model @{ + ModelType = [MarshalByRefObject]$foundModelType; + PrimaryKey = [string]$primaryKey; + DefaultNamespace = $defaultNamespace; + RepositoryNamespace = $repositoryNamespace; + ModelTypeNamespace = $modelTypeNamespace; + ModelTypePluralized = [string]$modelTypePluralized; + DbContextNamespace = $foundDbContextType.Namespace.FullName; + DbContextType = [MarshalByRefObject]$foundDbContextType; +} -SuccessMessage "Added repository '{0}'" -TemplateFolders $TemplateFolders -Project $Project -CodeLanguage $CodeLanguage -Force:$Force + diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.Format.ps1xml b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.Format.ps1xml new file mode 100644 index 0000000..2391814 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.Format.ps1xml @@ -0,0 +1,26 @@ + + + + T4Scaffolding.Core.ScaffolderLocators.ScaffolderInfo + + T4Scaffolding.Core.ScaffolderLocators.ScaffolderInfo + + + + 35 + + 30 + + + + + Name + Description + PackageName + + + + + + + \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.NuGetServices.dll b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.NuGetServices.dll new file mode 100644 index 0000000..3169dc6 Binary files /dev/null and b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.NuGetServices.dll differ diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.dll b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.dll new file mode 100644 index 0000000..89cf6f1 Binary files /dev/null and b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/T4Scaffolding.dll differ diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/init.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/init.ps1 new file mode 100644 index 0000000..fd1cd4e --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/init.ps1 @@ -0,0 +1,51 @@ +param($rootPath, $toolsPath, $package, $project) + +$dllPath = Join-Path $toolsPath T4Scaffolding.dll +$tabExpansionPath = Join-Path $toolsPath "scaffoldingTabExpansion.psm1" +$packagesRoot = [System.IO.Path]::GetDirectoryName($rootPath) + +if (Test-Path $dllPath) { + # Enable shadow copying so the package can be uninstalled/upgraded later + [System.AppDomain]::CurrentDomain.SetShadowCopyFiles() + + # First import the module into the local scope where init.ps1 runs... + Import-Module $dllPath + [T4Scaffolding.NuGetServices.Services.ScaffoldingPackagePathResolver]::SetPackagesRootDirectory($packagesRoot) + Set-Alias Scaffold Invoke-Scaffolder -Option AllScope -scope Global + Update-FormatData -PrependPath (Join-Path $toolsPath T4Scaffolding.Format.ps1xml) + + # The following applies to NuGet 1.0 only + if ([NuGet.PackageManager].Assembly.GetName().Version -lt 1.1) { + # ...then promote it to global scope. Note that this is a workaround for the fact that NuGet doesn't + # currently have a native way for packages to export PowerShell module members into the Package + # Manager Console scope. When this is resolved in a future version of NuGet, there will be no further + # need for GlobalCommandRunner and it will be removed. Don't call it from your own package! + [T4Scaffolding.Cmdlets.GlobalCommandRunner]::Run(` + "Import-Module -Force -Global ""$dllPath"";"` + + "Set-Alias Scaffold Invoke-Scaffolder -Option AllScope -scope Global;"` + + "Import-Module -Force -Global ""$tabExpansionPath"";"` + + "[T4Scaffolding.NuGetServices.Services.ScaffoldingPackagePathResolver]::SetPackagesRootDirectory(""$packagesRoot"");"` + , $true) + } else { + # For NuGet 1.1 and later we can load everything immediately + Import-Module -Force -Global $tabExpansionPath + + # If there are multiple versions installed, warn the developer to uninstall the older ones + $oldVersionsInstalled = (Get-Package T4Scaffolding | Group-Object Version -AsHashTable).Keys | Sort-Object -Descending | Select-Object -Skip 1 + if ($oldVersionsInstalled) { + Write-Warning "---" + Write-Warning "Your solution contains older versions of T4Scaffolding. To avoid unexpected behavior, please ensure " + Write-Warning "the following older versions of T4Scaffolding are uninstalled from from all projects in your solution:" + $oldVersionsInstalled | %{ Write-Warning (" * " + $_.ToString()) } + Write-Warning "After uninstalling any older versions, restart Visual Studio." + Write-Warning "---" + } elseif ([T4Scaffolding.ScaffolderAttribute].Assembly.GetName().Version -ne "1.0.0.1") { + Write-Warning "---" + Write-Warning "A different version of T4Scaffolding is already running in this instance of Visual Studio" + Write-Warning "Please restart Visual Studio to avoid unexpected behavior" + Write-Warning "---" + } + } +} else { + Write-Warning ("Could not find T4Scaffolding module. Looked for: " + $dllPath) +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/install.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/install.ps1 new file mode 100644 index 0000000..46f868e --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/install.ps1 @@ -0,0 +1,32 @@ +param($rootPath, $toolsPath, $package, $project) + +if ([T4Scaffolding.ScaffolderAttribute].Assembly.GetName().Version -ne "1.0.0.1") { + # Abort installation, because we can't update the T4Scaffolding assembly while it's already loaded, + # and logic in the installation process involves referencing types in the latest version of that assembly. + $upgradeProcedure = @" + 1. Uninstall the T4Scaffolding package from all projects in your solution (along with any dependent packages, such as MvcScaffolding) + 2. Restart Visual Studio + ... then you can install the package you require (e.g., MvcScaffolding or T4Scaffolding) +"@ + Write-Warning "---" + Write-Warning "Warning: A different version of T4Scaffolding is already running in this instance of Visual Studio, so installation cannot be completed at this time." + Write-Warning "To upgrade, you must: " + Write-Warning $upgradeProcedure + Write-Warning "---" + if (Get-Module T4Scaffolding) { + # Disable scaffolding as much as possible until VS is restarted + Remove-Module T4Scaffolding + } + throw "---`nInstallation cannot proceed until you follow this procedure: `n" + $upgradeProcedure + "`n---" +} + +# Bail out if scaffolding is disabled (probably because you're running an incompatible version of NuGet) +if (-not (Get-Command Invoke-Scaffolder)) { return } + +if ($project) { $projectName = $project.Name } +Get-ProjectItem "InstallationDummyFile.txt" -Project $projectName | %{ $_.Delete() } + +Set-DefaultScaffolder -Name DbContext -Scaffolder T4Scaffolding.EFDbContext -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name Repository -Scaffolder T4Scaffolding.EFRepository -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name CustomTemplate -Scaffolder T4Scaffolding.CustomTemplate -SolutionWide -DoNotOverwriteExistingSetting +Set-DefaultScaffolder -Name CustomScaffolder -Scaffolder T4Scaffolding.CustomScaffolder -SolutionWide -DoNotOverwriteExistingSetting diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/scaffoldingTabExpansion.psm1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/scaffoldingTabExpansion.psm1 new file mode 100644 index 0000000..679e082 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/scaffoldingTabExpansion.psm1 @@ -0,0 +1,114 @@ +# Mostly copied from NuGet's native tab expansion function +# Maybe a future version of NuGet will have some kind of pluggable tab expansion system +# so that 3rd-party packages can provide expansions without duplicating all this logic + +if (!$global:scaffolderTabExpansion) { $global:scaffolderTabExpansion = @{ } } + +# make sure we stop on exceptions +$ErrorActionPreference = "Stop" + +# This object reprents the result value for tab expansion functions when no result is returned. +# This is so that we can distinguish it from $null, which has different semantics +$NoResultValue = New-Object 'System.Object' + +# Backup the original tab expansion function +if ((Test-Path Function:\TabExpansionPreT4Scaffolding) -eq $false) { + Rename-Item Function:\TabExpansion global:TabExpansionPreT4Scaffolding +} + +function TabExpansion($line, $lastWord) { + $filter = $lastWord.Trim() + + if ($filter.StartsWith('-')) { + # if this is a parameter, let default PS tab expansion supply the list of parameters + return (TabExpansionPreT4Scaffolding $line $lastWord) + } + + # remove double quotes around last word + $trimmedFilter = $filter.Trim( '"', "'" ) + if ($trimmedFilter.length -lt $filter.length) { + $filter = $trimmedFilter + $addQuote = $true + } + + $e = $null + $tokens = @([System.Management.Automation.PSParser]::Tokenize($line, [ref]$e)) | %{ $_.Content } + if (-not($tokens -is [Array])) { + $tokens = ,$tokens + } + if (!$filter) { + $tokens = $tokens + $filter + } + + switch ($tokens[0]) { + 'Invoke-Scaffolder' { + $choices = TabExpansionForInvokeScaffolder $filter $tokens + } + 'Scaffold' { + $choices = TabExpansionForInvokeScaffolder $filter $tokens + } + 'Set-DefaultScaffolder' { + $choices = TabExpansionForSetDefaultScaffolder $filter $tokens + } + default { + $choices = $NoResultValue + } + } + + if ($choices -eq $NoResultValue) { + # Fallback to the default tab expansion + TabExpansionPreT4Scaffolding $line $lastWord + } + elseif ($choices) { + # Return all the choices, do some filtering based on the last word, sort them and wrap each suggestion in a double quote if necessary + $choices | + Where-Object { $_.StartsWith($filter, "OrdinalIgnoreCase") } | + Sort-Object | + ForEach-Object { if ($addQuote -or $_.IndexOf(' ') -gt -1) { "'" + ($_ -replace "'", "''") + "'"} else { $_ } } + } + else { + # return null here will tell the console not to show system file paths + return $null + } +} + +function TabExpansionForInvokeScaffolder([string]$filter, $allTokens) { + $secondLastToken = $allTokens[-2] + if (($secondLastToken -eq '-scaffolder') -or ($allTokens.length -eq 2) -or (($allTokens.length -eq 4) -and ($allTokens[-3] -eq '-project'))) { + $project = FindNamedParameterValue $allTokens Project + $filter += "*" + return @() + (Get-DefaultScaffolder -Project $project | %{ $_.DefaultName }) + (Get-Scaffolder $filter -Project $project | %{ $_.Name }) + } elseif ($secondLastToken -eq '-project') { + return (Get-Project -All) | %{ $_.Name } + } else { + # We don't know how to complete custom scaffolder params here, so ask the scaffolder itself to do so + $scaffolder = Get-Scaffolder $tokens[1] + if ($scaffolder -is [T4Scaffolding.Core.ScaffolderLocators.ScaffolderInfo]) { + $registeredScriptBlock = $global:scaffolderTabExpansion[$scaffolder.Name] + if ($registeredScriptBlock -is [ScriptBlock]) { + return . $registeredScriptBlock $filter $tokens + } + } + return $NoResultValue + } +} + +function TabExpansionForSetDefaultScaffolder([string]$filter, $allTokens) { + $secondLastToken = $allTokens[-2] + if (($secondLastToken -eq '-name') -or ($allTokens.length -eq 2)) { + return (Get-DefaultScaffolder | %{ $_.DefaultName }) + } elseif (($secondLastToken -eq '-scaffolder') -or ($allTokens.length -eq 3)) { + $project = FindNamedParameterValue $allTokens Project + $filter += "*" + return (Get-Scaffolder $filter -Project $project | %{ $_.Name }) + } + return $NoResultValue +} + +function FindNamedParameterValue($allTokens, $parameterName) { + $foundAtPreviousToken = $false + foreach($token in $allTokens) { + if ($foundAtPreviousToken) { return $token } + if ($token -eq ("-" + $parameterName)) { $foundAtPreviousToken = $true } + } +} \ No newline at end of file diff --git a/CharityPortal/packages/T4Scaffolding.1.0.1/tools/uninstall.ps1 b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/uninstall.ps1 new file mode 100644 index 0000000..691ba34 --- /dev/null +++ b/CharityPortal/packages/T4Scaffolding.1.0.1/tools/uninstall.ps1 @@ -0,0 +1,14 @@ +param($rootPath, $toolsPath, $package, $project) + +# Bail out if scaffolding is disabled (probably because you're running an incompatible version of NuGet) +if (-not (Get-Command Invoke-Scaffolder)) { return } + +# Try to delete the solution-level config file, if there is one +if ($project) { + $solutionDir = [System.IO.Path]::GetDirectoryName($project.DTE.Solution.FullName) + $configFile = Join-Path $solutionDir "scaffolding.config" + if (Test-Path $configFile) { + Set-IsCheckedOut $configFile + del $configFile + } +} \ No newline at end of file diff --git a/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js b/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js new file mode 100644 index 0000000..5948d8c --- /dev/null +++ b/CharityPortal/packages/jQuery.1.5.1/Content/Scripts/jquery-1.5.1.js @@ -0,0 +1,8325 @@ +/*! +* Note: While Microsoft is not the author of this file, Microsoft is +* offering you a license subject to the terms of the Microsoft Software +* License Terms for Microsoft ASP.NET Model View Controller 3. +* Microsoft reserves all other rights. The notices below are provided +* for informational purposes only and are not the license terms under +* which Microsoft distributed this file. +* +* jQuery JavaScript Library v1.5.1 +* http://jquery.com/ +* Copyright 2011, John Resig +* +* Includes Sizzle.js +* http://sizzlejs.com/ +* Copyright 2011, The Dojo Foundation +* +* Date: Thu Nov 11 19:04:53 2010 -0500 +*/ +(function( window, undefined ) { + +// Use the correct document accordingly with window argument (sandbox) +var document = window.document; +var jQuery = (function() { + +// Define a local copy of jQuery +var jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // A central reference to the root jQuery(document) + rootjQuery, + + // A simple way to check for HTML strings or ID strings + // (both of which we optimize for) + quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/, + + // Check if a string has a non-whitespace character in it + rnotwhite = /\S/, + + // Used for trimming whitespace + trimLeft = /^\s+/, + trimRight = /\s+$/, + + // Check for digits + rdigit = /\d/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, + rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + + // Useragent RegExp + rwebkit = /(webkit)[ \/]([\w.]+)/, + ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, + rmsie = /(msie) ([\w.]+)/, + rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, + + // Keep a UserAgent string for use with jQuery.browser + userAgent = navigator.userAgent, + + // For matching the engine and version of the browser + browserMatch, + + // Has the ready events already been bound? + readyBound = false, + + // The deferred used on DOM ready + readyList, + + // Promise methods + promiseMethods = "then done fail isResolved isRejected promise".split( " " ), + + // The ready event handler + DOMContentLoaded, + + // Save a reference to some core methods + toString = Object.prototype.toString, + hasOwn = Object.prototype.hasOwnProperty, + push = Array.prototype.push, + slice = Array.prototype.slice, + trim = String.prototype.trim, + indexOf = Array.prototype.indexOf, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), or $(undefined) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // The body element only exists once, optimize finding it + if ( selector === "body" && !context && document.body ) { + this.context = document; + this[0] = document.body; + this.selector = "body"; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + // Are we dealing with HTML string or an ID? + match = quickExpr.exec( selector ); + + // Verify a match, and that no context was specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = (context ? context.ownerDocument || context : document); + + // If a single string is passed in and it's a single tag + // just do a createElement and skip the rest + ret = rsingleTag.exec( selector ); + + if ( ret ) { + if ( jQuery.isPlainObject( context ) ) { + selector = [ document.createElement( ret[1] ) ]; + jQuery.fn.attr.call( selector, context, true ); + + } else { + selector = [ doc.createElement( ret[1] ) ]; + } + + } else { + ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); + selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; + } + + return jQuery.merge( this, selector ); + + // HANDLE: $("#id") + } else { + elem = document.getElementById( match[2] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id !== match[2] ) { + return rootjQuery.find( selector ); + } + + // Otherwise, we inject the element directly into the jQuery object + this.length = 1; + this[0] = elem; + } + + this.context = document; + this.selector = selector; + return this; + } + + // HANDLE: $(expr, $(...)) + } else if ( !context || context.jquery ) { + return (context || rootjQuery).find( selector ); + + // HANDLE: $(expr, context) + // (which is just equivalent to: $(context).find(expr) + } else { + return this.constructor( context ).find( selector ); + } + + // HANDLE: $(function) + // Shortcut for document ready + } else if ( jQuery.isFunction( selector ) ) { + return rootjQuery.ready( selector ); + } + + if (selector.selector !== undefined) { + this.selector = selector.selector; + this.context = selector.context; + } + + return jQuery.makeArray( selector, this ); + }, + + // Start with an empty selector + selector: "", + + // The current version of jQuery being used + jquery: "1.5.1", + + // The default length of a jQuery object is 0 + length: 0, + + // The number of elements contained in the matched element set + size: function() { + return this.length; + }, + + toArray: function() { + return slice.call( this, 0 ); + }, + + // Get the Nth element in the matched element set OR + // Get the whole matched element set as a clean array + get: function( num ) { + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + ( num < 0 ? this[ this.length + num ] : this[ num ] ); + }, + + // Take an array of elements and push it onto the stack + // (returning the new matched element set) + pushStack: function( elems, name, selector ) { + // Build a new jQuery matched element set + var ret = this.constructor(); + + if ( jQuery.isArray( elems ) ) { + push.apply( ret, elems ); + + } else { + jQuery.merge( ret, elems ); + } + + // Add the old object onto the stack (as a reference) + ret.prevObject = this; + + ret.context = this.context; + + if ( name === "find" ) { + ret.selector = this.selector + (this.selector ? " " : "") + selector; + } else if ( name ) { + ret.selector = this.selector + "." + name + "(" + selector + ")"; + } + + // Return the newly-formed element set + return ret; + }, + + // Execute a callback for every element in the matched set. + // (You can seed the arguments with an array of args, but this is + // only used internally.) + each: function( callback, args ) { + return jQuery.each( this, callback, args ); + }, + + ready: function( fn ) { + // Attach the listeners + jQuery.bindReady(); + + // Add the callback + readyList.done( fn ); + + return this; + }, + + eq: function( i ) { + return i === -1 ? + this.slice( i ) : + this.slice( i, +i + 1 ); + }, + + first: function() { + return this.eq( 0 ); + }, + + last: function() { + return this.eq( -1 ); + }, + + slice: function() { + return this.pushStack( slice.apply( this, arguments ), + "slice", slice.call(arguments).join(",") ); + }, + + map: function( callback ) { + return this.pushStack( jQuery.map(this, function( elem, i ) { + return callback.call( elem, i, elem ); + })); + }, + + end: function() { + return this.prevObject || this.constructor(null); + }, + + // For internal use only. + // Behaves like an Array's method, not like a jQuery method. + push: push, + sort: [].sort, + splice: [].splice +}; + +// Give the init function the jQuery prototype for later instantiation +jQuery.fn.init.prototype = jQuery.fn; + +jQuery.extend = jQuery.fn.extend = function() { + var options, name, src, copy, copyIsArray, clone, + target = arguments[0] || {}, + i = 1, + length = arguments.length, + deep = false; + + // Handle a deep copy situation + if ( typeof target === "boolean" ) { + deep = target; + target = arguments[1] || {}; + // skip the boolean and the target + i = 2; + } + + // Handle case when target is a string or something (possible in deep copy) + if ( typeof target !== "object" && !jQuery.isFunction(target) ) { + target = {}; + } + + // extend jQuery itself if only one argument is passed + if ( length === i ) { + target = this; + --i; + } + + for ( ; i < length; i++ ) { + // Only deal with non-null/undefined values + if ( (options = arguments[ i ]) != null ) { + // Extend the base object + for ( name in options ) { + src = target[ name ]; + copy = options[ name ]; + + // Prevent never-ending loop + if ( target === copy ) { + continue; + } + + // Recurse if we're merging plain objects or arrays + if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { + if ( copyIsArray ) { + copyIsArray = false; + clone = src && jQuery.isArray(src) ? src : []; + + } else { + clone = src && jQuery.isPlainObject(src) ? src : {}; + } + + // Never move original objects, clone them + target[ name ] = jQuery.extend( deep, clone, copy ); + + // Don't bring in undefined values + } else if ( copy !== undefined ) { + target[ name ] = copy; + } + } + } + } + + // Return the modified object + return target; +}; + +jQuery.extend({ + noConflict: function( deep ) { + window.$ = _$; + + if ( deep ) { + window.jQuery = _jQuery; + } + + return jQuery; + }, + + // Is the DOM ready to be used? Set to true once it occurs. + isReady: false, + + // A counter to track how many items to wait for before + // the ready event fires. See #6781 + readyWait: 1, + + // Handle when the DOM is ready + ready: function( wait ) { + // A third-party is pushing the ready event forwards + if ( wait === true ) { + jQuery.readyWait--; + } + + // Make sure that the DOM is not already loaded + if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( !document.body ) { + return setTimeout( jQuery.ready, 1 ); + } + + // Remember that the DOM is ready + jQuery.isReady = true; + + // If a normal DOM Ready event fired, decrement, and wait if need be + if ( wait !== true && --jQuery.readyWait > 0 ) { + return; + } + + // If there are functions bound, to execute + readyList.resolveWith( document, [ jQuery ] ); + + // Trigger any bound ready events + if ( jQuery.fn.trigger ) { + jQuery( document ).trigger( "ready" ).unbind( "ready" ); + } + } + }, + + bindReady: function() { + if ( readyBound ) { + return; + } + + readyBound = true; + + // Catch cases where $(document).ready() is called after the + // browser event has already occurred. + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + return setTimeout( jQuery.ready, 1 ); + } + + // Mozilla, Opera and webkit nightlies currently support this event + if ( document.addEventListener ) { + // Use the handy event callback + document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + + // A fallback to window.onload, that will always work + window.addEventListener( "load", jQuery.ready, false ); + + // If IE event model is used + } else if ( document.attachEvent ) { + // ensure firing before onload, + // maybe late but safe also for iframes + document.attachEvent("onreadystatechange", DOMContentLoaded); + + // A fallback to window.onload, that will always work + window.attachEvent( "onload", jQuery.ready ); + + // If IE and not a frame + // continually check to see if the document is ready + var toplevel = false; + + try { + toplevel = window.frameElement == null; + } catch(e) {} + + if ( document.documentElement.doScroll && toplevel ) { + doScrollCheck(); + } + } + }, + + // See test/unit/core.js for details concerning isFunction. + // Since version 1.3, DOM methods and functions like alert + // aren't supported. They return false on IE (#2968). + isFunction: function( obj ) { + return jQuery.type(obj) === "function"; + }, + + isArray: Array.isArray || function( obj ) { + return jQuery.type(obj) === "array"; + }, + + // A crude way of determining if an object is a window + isWindow: function( obj ) { + return obj && typeof obj === "object" && "setInterval" in obj; + }, + + isNaN: function( obj ) { + return obj == null || !rdigit.test( obj ) || isNaN( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ toString.call(obj) ] || "object"; + }, + + isPlainObject: function( obj ) { + // Must be an Object. + // Because of IE, we also have to check the presence of the constructor property. + // Make sure that DOM nodes and window objects don't pass through, as well + if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { + return false; + } + + // Not own constructor property must be Object + if ( obj.constructor && + !hasOwn.call(obj, "constructor") && + !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + + // Own properties are enumerated firstly, so to speed up, + // if last one is own, then all properties are own. + + var key; + for ( key in obj ) {} + + return key === undefined || hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + for ( var name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw msg; + }, + + parseJSON: function( data ) { + if ( typeof data !== "string" || !data ) { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Make sure the incoming data is actual JSON + // Logic borrowed from http://json.org/json2.js + if ( rvalidchars.test(data.replace(rvalidescape, "@") + .replace(rvalidtokens, "]") + .replace(rvalidbraces, "")) ) { + + // Try to use the native JSON parser first + return window.JSON && window.JSON.parse ? + window.JSON.parse( data ) : + (new Function("return " + data))(); + + } else { + jQuery.error( "Invalid JSON: " + data ); + } + }, + + // Cross-browser xml parsing + // (xml & tmp used internally) + parseXML: function( data , xml , tmp ) { + + if ( window.DOMParser ) { // Standard + tmp = new DOMParser(); + xml = tmp.parseFromString( data , "text/xml" ); + } else { // IE + xml = new ActiveXObject( "Microsoft.XMLDOM" ); + xml.async = "false"; + xml.loadXML( data ); + } + + tmp = xml.documentElement; + + if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { + jQuery.error( "Invalid XML: " + data ); + } + + return xml; + }, + + noop: function() {}, + + // Evalulates a script in a global context + globalEval: function( data ) { + if ( data && rnotwhite.test(data) ) { + // Inspired by code by Andrea Giammarchi + // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html + var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement, + script = document.createElement( "script" ); + + if ( jQuery.support.scriptEval() ) { + script.appendChild( document.createTextNode( data ) ); + } else { + script.text = data; + } + + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709). + head.insertBefore( script, head.firstChild ); + head.removeChild( script ); + } + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); + }, + + // args is for internal usage only + each: function( object, callback, args ) { + var name, i = 0, + length = object.length, + isObj = length === undefined || jQuery.isFunction(object); + + if ( args ) { + if ( isObj ) { + for ( name in object ) { + if ( callback.apply( object[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( object[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in object ) { + if ( callback.call( object[ name ], name, object[ name ] ) === false ) { + break; + } + } + } else { + for ( var value = object[0]; + i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} + } + } + + return object; + }, + + // Use native String.trim function wherever possible + trim: trim ? + function( text ) { + return text == null ? + "" : + trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); + }, + + // results is for internal usage only + makeArray: function( array, results ) { + var ret = results || []; + + if ( array != null ) { + // The window, strings (and functions) also have 'length' + // The extra typeof function check is to prevent crashes + // in Safari 2 (See: #3039) + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + var type = jQuery.type(array); + + if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { + push.call( ret, array ); + } else { + jQuery.merge( ret, array ); + } + } + + return ret; + }, + + inArray: function( elem, array ) { + if ( array.indexOf ) { + return array.indexOf( elem ); + } + + for ( var i = 0, length = array.length; i < length; i++ ) { + if ( array[ i ] === elem ) { + return i; + } + } + + return -1; + }, + + merge: function( first, second ) { + var i = first.length, + j = 0; + + if ( typeof second.length === "number" ) { + for ( var l = second.length; j < l; j++ ) { + first[ i++ ] = second[ j ]; + } + + } else { + while ( second[j] !== undefined ) { + first[ i++ ] = second[ j++ ]; + } + } + + first.length = i; + + return first; + }, + + grep: function( elems, callback, inv ) { + var ret = [], retVal; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( var i = 0, length = elems.length; i < length; i++ ) { + retVal = !!callback( elems[ i ], i ); + if ( inv !== retVal ) { + ret.push( elems[ i ] ); + } + } + + return ret; + }, + + // arg is for internal usage only + map: function( elems, callback, arg ) { + var ret = [], value; + + // Go through the array, translating each of the items to their + // new value (or values). + for ( var i = 0, length = elems.length; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Flatten any nested arrays + return ret.concat.apply( [], ret ); + }, + + // A global GUID counter for objects + guid: 1, + + proxy: function( fn, proxy, thisObject ) { + if ( arguments.length === 2 ) { + if ( typeof proxy === "string" ) { + thisObject = fn; + fn = thisObject[ proxy ]; + proxy = undefined; + + } else if ( proxy && !jQuery.isFunction( proxy ) ) { + thisObject = proxy; + proxy = undefined; + } + } + + if ( !proxy && fn ) { + proxy = function() { + return fn.apply( thisObject || this, arguments ); + }; + } + + // Set the guid of unique handler to the same of original handler, so it can be removed + if ( fn ) { + proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; + } + + // So proxy can be declared as an argument + return proxy; + }, + + // Mutifunctional method to get and set values to a collection + // The value/s can be optionally by executed if its a function + access: function( elems, key, value, exec, fn, pass ) { + var length = elems.length; + + // Setting many attributes + if ( typeof key === "object" ) { + for ( var k in key ) { + jQuery.access( elems, k, key[k], exec, fn, value ); + } + return elems; + } + + // Setting one attribute + if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = !pass && exec && jQuery.isFunction(value); + + for ( var i = 0; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + + return elems; + } + + // Getting an attribute + return length ? fn( elems[0], key ) : undefined; + }, + + now: function() { + return (new Date()).getTime(); + }, + + // Create a simple deferred (one callbacks list) + _Deferred: function() { + var // callbacks list + callbacks = [], + // stored [ context , args ] + fired, + // to avoid firing when already doing so + firing, + // flag to know if the deferred has been cancelled + cancelled, + // the deferred itself + deferred = { + + // done( f1, f2, ...) + done: function() { + if ( !cancelled ) { + var args = arguments, + i, + length, + elem, + type, + _fired; + if ( fired ) { + _fired = fired; + fired = 0; + } + for ( i = 0, length = args.length; i < length; i++ ) { + elem = args[ i ]; + type = jQuery.type( elem ); + if ( type === "array" ) { + deferred.done.apply( deferred, elem ); + } else if ( type === "function" ) { + callbacks.push( elem ); + } + } + if ( _fired ) { + deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); + } + } + return this; + }, + + // resolve with given context and args + resolveWith: function( context, args ) { + if ( !cancelled && !fired && !firing ) { + firing = 1; + try { + while( callbacks[ 0 ] ) { + callbacks.shift().apply( context, args ); + } + } + // We have to add a catch block for + // IE prior to 8 or else the finally + // block will never get executed + catch (e) { + throw e; + } + finally { + fired = [ context, args ]; + firing = 0; + } + } + return this; + }, + + // resolve with this as context and given arguments + resolve: function() { + deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : this, arguments ); + return this; + }, + + // Has this deferred been resolved? + isResolved: function() { + return !!( firing || fired ); + }, + + // Cancel + cancel: function() { + cancelled = 1; + callbacks = []; + return this; + } + }; + + return deferred; + }, + + // Full fledged deferred (two callbacks list) + Deferred: function( func ) { + var deferred = jQuery._Deferred(), + failDeferred = jQuery._Deferred(), + promise; + // Add errorDeferred methods, then and promise + jQuery.extend( deferred, { + then: function( doneCallbacks, failCallbacks ) { + deferred.done( doneCallbacks ).fail( failCallbacks ); + return this; + }, + fail: failDeferred.done, + rejectWith: failDeferred.resolveWith, + reject: failDeferred.resolve, + isRejected: failDeferred.isResolved, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + if ( obj == null ) { + if ( promise ) { + return promise; + } + promise = obj = {}; + } + var i = promiseMethods.length; + while( i-- ) { + obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; + } + return obj; + } + } ); + // Make sure only one callback list will be used + deferred.done( failDeferred.cancel ).fail( deferred.cancel ); + // Unexpose cancel + delete deferred.cancel; + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + return deferred; + }, + + // Deferred helper + when: function( object ) { + var lastIndex = arguments.length, + deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ? + object : + jQuery.Deferred(), + promise = deferred.promise(); + + if ( lastIndex > 1 ) { + var array = slice.call( arguments, 0 ), + count = lastIndex, + iCallback = function( index ) { + return function( value ) { + array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value; + if ( !( --count ) ) { + deferred.resolveWith( promise, array ); + } + }; + }; + while( ( lastIndex-- ) ) { + object = array[ lastIndex ]; + if ( object && jQuery.isFunction( object.promise ) ) { + object.promise().then( iCallback(lastIndex), deferred.reject ); + } else { + --count; + } + } + if ( !count ) { + deferred.resolveWith( promise, array ); + } + } else if ( deferred !== object ) { + deferred.resolve( object ); + } + return promise; + }, + + // Use of jQuery.browser is frowned upon. + // More details: http://docs.jquery.com/Utilities/jQuery.browser + uaMatch: function( ua ) { + ua = ua.toLowerCase(); + + var match = rwebkit.exec( ua ) || + ropera.exec( ua ) || + rmsie.exec( ua ) || + ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || + []; + + return { browser: match[1] || "", version: match[2] || "0" }; + }, + + sub: function() { + function jQuerySubclass( selector, context ) { + return new jQuerySubclass.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySubclass, this ); + jQuerySubclass.superclass = this; + jQuerySubclass.fn = jQuerySubclass.prototype = this(); + jQuerySubclass.fn.constructor = jQuerySubclass; + jQuerySubclass.subclass = this.subclass; + jQuerySubclass.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { + context = jQuerySubclass(context); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); + }; + jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; + var rootjQuerySubclass = jQuerySubclass(document); + return jQuerySubclass; + }, + + browser: {} +}); + +// Create readyList deferred +readyList = jQuery._Deferred(); + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +browserMatch = jQuery.uaMatch( userAgent ); +if ( browserMatch.browser ) { + jQuery.browser[ browserMatch.browser ] = true; + jQuery.browser.version = browserMatch.version; +} + +// Deprecated, use jQuery.browser.webkit instead +if ( jQuery.browser.webkit ) { + jQuery.browser.safari = true; +} + +if ( indexOf ) { + jQuery.inArray = function( elem, array ) { + return indexOf.call( array, elem ); + }; +} + +// IE doesn't match non-breaking spaces with \s +if ( rnotwhite.test( "\xA0" ) ) { + trimLeft = /^[\s\xA0]+/; + trimRight = /[\s\xA0]+$/; +} + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); + +// Cleanup functions for the document ready method +if ( document.addEventListener ) { + DOMContentLoaded = function() { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + }; + +} else if ( document.attachEvent ) { + DOMContentLoaded = function() { + // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). + if ( document.readyState === "complete" ) { + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }; +} + +// The DOM ready check for Internet Explorer +function doScrollCheck() { + if ( jQuery.isReady ) { + return; + } + + try { + // If IE is used, use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + document.documentElement.doScroll("left"); + } catch(e) { + setTimeout( doScrollCheck, 1 ); + return; + } + + // and execute any waiting functions + jQuery.ready(); +} + +// Expose jQuery to the global object +return jQuery; + +})(); + + +(function() { + + jQuery.support = {}; + + var div = document.createElement("div"); + + div.style.display = "none"; + div.innerHTML = "
      a"; + + var all = div.getElementsByTagName("*"), + a = div.getElementsByTagName("a")[0], + select = document.createElement("select"), + opt = select.appendChild( document.createElement("option") ), + input = div.getElementsByTagName("input")[0]; + + // Can't get basic test support + if ( !all || !all.length || !a ) { + return; + } + + jQuery.support = { + // IE strips leading whitespace when .innerHTML is used + leadingWhitespace: div.firstChild.nodeType === 3, + + // Make sure that tbody elements aren't automatically inserted + // IE will insert them into empty tables + tbody: !div.getElementsByTagName("tbody").length, + + // Make sure that link elements get serialized correctly by innerHTML + // This requires a wrapper element in IE + htmlSerialize: !!div.getElementsByTagName("link").length, + + // Get the style information from getAttribute + // (IE uses .cssText insted) + style: /red/.test( a.getAttribute("style") ), + + // Make sure that URLs aren't manipulated + // (IE normalizes it by default) + hrefNormalized: a.getAttribute("href") === "/a", + + // Make sure that element opacity exists + // (IE uses filter instead) + // Use a regex to work around a WebKit issue. See #5145 + opacity: /^0.55$/.test( a.style.opacity ), + + // Verify style float existence + // (IE uses styleFloat instead of cssFloat) + cssFloat: !!a.style.cssFloat, + + // Make sure that if no value is specified for a checkbox + // that it defaults to "on". + // (WebKit defaults to "" instead) + checkOn: input.value === "on", + + // Make sure that a selected-by-default option has a working selected property. + // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) + optSelected: opt.selected, + + // Will be defined later + deleteExpando: true, + optDisabled: false, + checkClone: false, + noCloneEvent: true, + noCloneChecked: true, + boxModel: null, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableHiddenOffsets: true + }; + + input.checked = true; + jQuery.support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as diabled) + select.disabled = true; + jQuery.support.optDisabled = !opt.disabled; + + var _scriptEval = null; + jQuery.support.scriptEval = function() { + if ( _scriptEval === null ) { + var root = document.documentElement, + script = document.createElement("script"), + id = "script" + jQuery.now(); + + try { + script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); + } catch(e) {} + + root.insertBefore( script, root.firstChild ); + + // Make sure that the execution of code works by injecting a script + // tag with appendChild/createTextNode + // (IE doesn't support this, fails, and uses .text instead) + if ( window[ id ] ) { + _scriptEval = true; + delete window[ id ]; + } else { + _scriptEval = false; + } + + root.removeChild( script ); + // release memory in IE + root = script = id = null; + } + + return _scriptEval; + }; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + + } catch(e) { + jQuery.support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent("onclick", function click() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + jQuery.support.noCloneEvent = false; + div.detachEvent("onclick", click); + }); + div.cloneNode(true).fireEvent("onclick"); + } + + div = document.createElement("div"); + div.innerHTML = ""; + + var fragment = document.createDocumentFragment(); + fragment.appendChild( div.firstChild ); + + // WebKit doesn't clone checked state correctly in fragments + jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; + + // Figure out if the W3C box model works as expected + // document.body must exist before we can do this + jQuery(function() { + var div = document.createElement("div"), + body = document.getElementsByTagName("body")[0]; + + // Frameset documents with no body should not run this code + if ( !body ) { + return; + } + + div.style.width = div.style.paddingLeft = "1px"; + body.appendChild( div ); + jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; + + if ( "zoom" in div.style ) { + // Check if natively block-level elements act like inline-block + // elements when setting their display to 'inline' and giving + // them layout + // (IE < 8 does this) + div.style.display = "inline"; + div.style.zoom = 1; + jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = ""; + div.innerHTML = "
      "; + jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; + } + + div.innerHTML = "
      t
      "; + var tds = div.getElementsByTagName("td"); + + // Check if table cells still have offsetWidth/Height when they are set + // to display:none and there are still other visible table cells in a + // table row; if so, offsetWidth/Height are not reliable for use when + // determining if an element has been hidden directly using + // display:none (it is still safe to use offsets if a parent element is + // hidden; don safety goggles and see bug #4512 for more information). + // (only IE 8 fails this test) + jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; + + tds[0].style.display = ""; + tds[1].style.display = "none"; + + // Check if empty table cells still have offsetWidth/Height + // (IE < 8 fail this test) + jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; + div.innerHTML = ""; + + body.removeChild( div ).style.display = "none"; + div = tds = null; + }); + + // Technique from Juriy Zaytsev + // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ + var eventSupported = function( eventName ) { + var el = document.createElement("div"); + eventName = "on" + eventName; + + // We only care about the case where non-standard event systems + // are used, namely in IE. Short-circuiting here helps us to + // avoid an eval call (in setAttribute) which can cause CSP + // to go haywire. See: https://developer.mozilla.org/en/Security/CSP + if ( !el.attachEvent ) { + return true; + } + + var isSupported = (eventName in el); + if ( !isSupported ) { + el.setAttribute(eventName, "return;"); + isSupported = typeof el[eventName] === "function"; + } + el = null; + + return isSupported; + }; + + jQuery.support.submitBubbles = eventSupported("submit"); + jQuery.support.changeBubbles = eventSupported("change"); + + // release memory in IE + div = all = a = null; +})(); + + + +var rbrace = /^(?:\{.*\}|\[.*\])$/; + +jQuery.extend({ + cache: {}, + + // Please use with caution + uuid: 0, + + // Unique for each copy of jQuery on the page + // Non-digits removed to match rinlinejQuery + expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), + + // The following elements throw uncatchable exceptions if you + // attempt to add expando properties to them. + noData: { + "embed": true, + // Ban all objects except for Flash (which handle expandos) + "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", + "applet": true + }, + + hasData: function( elem ) { + elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; + + return !!elem && !isEmptyDataObject( elem ); + }, + + data: function( elem, name, data, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, + + // We have to handle DOM nodes and JS objects differently because IE6-7 + // can't GC object references properly across the DOM-JS boundary + isNode = elem.nodeType, + + // Only DOM nodes need the global jQuery cache; JS object data is + // attached directly to the object so GC can occur automatically + cache = isNode ? jQuery.cache : elem, + + // Only defining an ID for JS objects if its cache already exists allows + // the code to shortcut on the same path as a DOM node with no cache + id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; + + // Avoid doing any more work than we need to when trying to get data on an + // object that has no data at all + if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { + return; + } + + if ( !id ) { + // Only DOM nodes need a new unique ID for each element since their data + // ends up in the global cache + if ( isNode ) { + elem[ jQuery.expando ] = id = ++jQuery.uuid; + } else { + id = jQuery.expando; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + } + + // An object can be passed to jQuery.data instead of a key/value pair; this gets + // shallow copied over onto the existing cache + if ( typeof name === "object" || typeof name === "function" ) { + if ( pvt ) { + cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); + } else { + cache[ id ] = jQuery.extend(cache[ id ], name); + } + } + + thisCache = cache[ id ]; + + // Internal jQuery data is stored in a separate object inside the object's data + // cache in order to avoid key collisions between internal data and user-defined + // data + if ( pvt ) { + if ( !thisCache[ internalKey ] ) { + thisCache[ internalKey ] = {}; + } + + thisCache = thisCache[ internalKey ]; + } + + if ( data !== undefined ) { + thisCache[ name ] = data; + } + + // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should + // not attempt to inspect the internal events object using jQuery.data, as this + // internal data object is undocumented and subject to change. + if ( name === "events" && !thisCache[name] ) { + return thisCache[ internalKey ] && thisCache[ internalKey ].events; + } + + return getByName ? thisCache[ name ] : thisCache; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var internalKey = jQuery.expando, isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + + // See jQuery.data for more information + id = isNode ? elem[ jQuery.expando ] : jQuery.expando; + + // If there is already no cache entry for this object, there is no + // purpose in continuing + if ( !cache[ id ] ) { + return; + } + + if ( name ) { + var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; + + if ( thisCache ) { + delete thisCache[ name ]; + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !isEmptyDataObject(thisCache) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( pvt ) { + delete cache[ id ][ internalKey ]; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject(cache[ id ]) ) { + return; + } + } + + var internalCache = cache[ id ][ internalKey ]; + + // Browsers that fail expando deletion also refuse to delete expandos on + // the window, but it will allow it on all other JS objects; other browsers + // don't care + if ( jQuery.support.deleteExpando || cache != window ) { + delete cache[ id ]; + } else { + cache[ id ] = null; + } + + // We destroyed the entire user cache at once because it's faster than + // iterating through each key, but we need to continue to persist internal + // data if it existed + if ( internalCache ) { + cache[ id ] = {}; + // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery + // metadata on plain JS objects when the object is serialized using + // JSON.stringify + if ( !isNode ) { + cache[ id ].toJSON = jQuery.noop; + } + + cache[ id ][ internalKey ] = internalCache; + + // Otherwise, we need to eliminate the expando on the node to avoid + // false lookups in the cache for entries that no longer exist + } else if ( isNode ) { + // IE does not allow us to delete expando properties from nodes, + // nor does it have a removeAttribute function on Document nodes; + // we must handle all of these cases + if ( jQuery.support.deleteExpando ) { + delete elem[ jQuery.expando ]; + } else if ( elem.removeAttribute ) { + elem.removeAttribute( jQuery.expando ); + } else { + elem[ jQuery.expando ] = null; + } + } + }, + + // For internal use only. + _data: function( elem, name, data ) { + return jQuery.data( elem, name, data, true ); + }, + + // A method for determining if a DOM node can handle the data expando + acceptData: function( elem ) { + if ( elem.nodeName ) { + var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; + + if ( match ) { + return !(match === true || elem.getAttribute("classid") !== match); + } + } + + return true; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var data = null; + + if ( typeof key === "undefined" ) { + if ( this.length ) { + data = jQuery.data( this[0] ); + + if ( this[0].nodeType === 1 ) { + var attr = this[0].attributes, name; + for ( var i = 0, l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( name.indexOf( "data-" ) === 0 ) { + name = name.substr( 5 ); + dataAttr( this[0], name, data[ name ] ); + } + } + } + } + + return data; + + } else if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + var parts = key.split("."); + parts[1] = parts[1] ? "." + parts[1] : ""; + + if ( value === undefined ) { + data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); + + // Try to fetch any internally stored data first + if ( data === undefined && this.length ) { + data = jQuery.data( this[0], key ); + data = dataAttr( this[0], key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + + } else { + return this.each(function() { + var $this = jQuery( this ), + args = [ parts[0], value ]; + + $this.triggerHandler( "setData" + parts[1] + "!", args ); + jQuery.data( this, key, value ); + $this.triggerHandler( "changeData" + parts[1] + "!", args ); + }); + } + }, + + removeData: function( key ) { + return this.each(function() { + jQuery.removeData( this, key ); + }); + } +}); + +function dataAttr( elem, key, data ) { + // If nothing was found internally, try to fetch any + // data from the HTML5 data-* attribute + if ( data === undefined && elem.nodeType === 1 ) { + data = elem.getAttribute( "data-" + key ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + !jQuery.isNaN( data ) ? parseFloat( data ) : + rbrace.test( data ) ? jQuery.parseJSON( data ) : + data; + } catch( e ) {} + + // Make sure we set the data so it isn't changed later + jQuery.data( elem, key, data ); + + } else { + data = undefined; + } + } + + return data; +} + +// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON +// property to be considered empty objects; this property always exists in +// order to make sure JSON.stringify does not expose internal metadata +function isEmptyDataObject( obj ) { + for ( var name in obj ) { + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} + + + + +jQuery.extend({ + queue: function( elem, type, data ) { + if ( !elem ) { + return; + } + + type = (type || "fx") + "queue"; + var q = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( !data ) { + return q || []; + } + + if ( !q || jQuery.isArray(data) ) { + q = jQuery._data( elem, type, jQuery.makeArray(data) ); + + } else { + q.push( data ); + } + + return q; + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + fn = queue.shift(); + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + } + + if ( fn ) { + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift("inprogress"); + } + + fn.call(elem, function() { + jQuery.dequeue(elem, type); + }); + } + + if ( !queue.length ) { + jQuery.removeData( elem, type + "queue", true ); + } + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + } + + if ( data === undefined ) { + return jQuery.queue( this[0], type ); + } + return this.each(function( i ) { + var queue = jQuery.queue( this, type, data ); + + if ( type === "fx" && queue[0] !== "inprogress" ) { + jQuery.dequeue( this, type ); + } + }); + }, + dequeue: function( type ) { + return this.each(function() { + jQuery.dequeue( this, type ); + }); + }, + + // Based off of the plugin by Clint Helfers, with permission. + // http://blindsignals.com/index.php/2009/07/jquery-delay/ + delay: function( time, type ) { + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue( type, function() { + var elem = this; + setTimeout(function() { + jQuery.dequeue( elem, type ); + }, time ); + }); + }, + + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + } +}); + + + + +var rclass = /[\n\t\r]/g, + rspaces = /\s+/, + rreturn = /\r/g, + rspecialurl = /^(?:href|src|style)$/, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea)?$/i, + rradiocheck = /^(?:radio|checkbox)$/i; + +jQuery.props = { + "for": "htmlFor", + "class": "className", + readonly: "readOnly", + maxlength: "maxLength", + cellspacing: "cellSpacing", + rowspan: "rowSpan", + colspan: "colSpan", + tabindex: "tabIndex", + usemap: "useMap", + frameborder: "frameBorder" +}; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, name, value, true, jQuery.attr ); + }, + + removeAttr: function( name, fn ) { + return this.each(function(){ + jQuery.attr( this, name, "" ); + if ( this.nodeType === 1 ) { + this.removeAttribute( name ); + } + }); + }, + + addClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.addClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( value && typeof value === "string" ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className ) { + elem.className = value; + + } else { + var className = " " + elem.className + " ", + setClass = elem.className; + + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { + setClass += " " + classNames[c]; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + self.removeClass( value.call(this, i, self.attr("class")) ); + }); + } + + if ( (value && typeof value === "string") || value === undefined ) { + var classNames = (value || "").split( rspaces ); + + for ( var i = 0, l = this.length; i < l; i++ ) { + var elem = this[i]; + + if ( elem.nodeType === 1 && elem.className ) { + if ( value ) { + var className = (" " + elem.className + " ").replace(rclass, " "); + for ( var c = 0, cl = classNames.length; c < cl; c++ ) { + className = className.replace(" " + classNames[c] + " ", " "); + } + elem.className = jQuery.trim( className ); + + } else { + elem.className = ""; + } + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this); + self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); + }); + } + + return this.each(function() { + if ( type === "string" ) { + // toggle individual class names + var className, + i = 0, + self = jQuery( this ), + state = stateVal, + classNames = value.split( rspaces ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space seperated list + state = isBool ? state : !self.hasClass( className ); + self[ state ? "addClass" : "removeClass" ]( className ); + } + + } else if ( type === "undefined" || type === "boolean" ) { + if ( this.className ) { + // store className if set + jQuery._data( this, "__className__", this.className ); + } + + // toggle whole className + this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; + } + }); + }, + + hasClass: function( selector ) { + var className = " " + selector + " "; + for ( var i = 0, l = this.length; i < l; i++ ) { + if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + if ( !arguments.length ) { + var elem = this[0]; + + if ( elem ) { + if ( jQuery.nodeName( elem, "option" ) ) { + // attributes.value is undefined in Blackberry 4.7 but + // uses .value. See #6932 + var val = elem.attributes.value; + return !val || val.specified ? elem.value : elem.text; + } + + // We need to handle select boxes special + if ( jQuery.nodeName( elem, "select" ) ) { + var index = elem.selectedIndex, + values = [], + options = elem.options, + one = elem.type === "select-one"; + + // Nothing was selected + if ( index < 0 ) { + return null; + } + + // Loop through all the selected options + for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { + var option = options[ i ]; + + // Don't return options that are disabled or in a disabled optgroup + if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && + (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { + + // Get the specific value for the option + value = jQuery(option).val(); + + // We don't need an array for one selects + if ( one ) { + return value; + } + + // Multi-Selects return an array + values.push( value ); + } + } + + // Fixes Bug #2551 -- select.val() broken in IE after form.reset() + if ( one && !values.length && options.length ) { + return jQuery( options[ index ] ).val(); + } + + return values; + } + + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { + return elem.getAttribute("value") === null ? "on" : elem.value; + } + + // Everything else, we just grab the value + return (elem.value || "").replace(rreturn, ""); + + } + + return undefined; + } + + var isFunction = jQuery.isFunction(value); + + return this.each(function(i) { + var self = jQuery(this), val = value; + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call(this, i, self.val()); + } + + // Treat null/undefined as ""; convert numbers to string + if ( val == null ) { + val = ""; + } else if ( typeof val === "number" ) { + val += ""; + } else if ( jQuery.isArray(val) ) { + val = jQuery.map(val, function (value) { + return value == null ? "" : value + ""; + }); + } + + if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { + this.checked = jQuery.inArray( self.val(), val ) >= 0; + + } else if ( jQuery.nodeName( this, "select" ) ) { + var values = jQuery.makeArray(val); + + jQuery( "option", this ).each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + this.selectedIndex = -1; + } + + } else { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + attrFn: { + val: true, + css: true, + html: true, + text: true, + data: true, + width: true, + height: true, + offset: true + }, + + attr: function( elem, name, value, pass ) { + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { + return undefined; + } + + if ( pass && name in jQuery.attrFn ) { + return jQuery(elem)[name](value); + } + + var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), + // Whether we are setting (or getting) + set = value !== undefined; + + // Try to normalize/fix the name + name = notxml && jQuery.props[ name ] || name; + + // Only do all the following if this is a node (faster for style) + if ( elem.nodeType === 1 ) { + // These attributes require special treatment + var special = rspecialurl.test( name ); + + // Safari mis-reports the default selected property of an option + // Accessing the parent's selectedIndex property fixes it + if ( name === "selected" && !jQuery.support.optSelected ) { + var parent = elem.parentNode; + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + } + + // If applicable, access the attribute via the DOM 0 way + // 'in' checks fail in Blackberry 4.7 #6931 + if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { + if ( set ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } + + if ( value === null ) { + if ( elem.nodeType === 1 ) { + elem.removeAttribute( name ); + } + + } else { + elem[ name ] = value; + } + } + + // browsers index elements by id/name on forms, give priority to attributes. + if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { + return elem.getAttributeNode( name ).nodeValue; + } + + // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set + // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ + if ( name === "tabIndex" ) { + var attributeNode = elem.getAttributeNode( "tabIndex" ); + + return attributeNode && attributeNode.specified ? + attributeNode.value : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + + return elem[ name ]; + } + + if ( !jQuery.support.style && notxml && name === "style" ) { + if ( set ) { + elem.style.cssText = "" + value; + } + + return elem.style.cssText; + } + + if ( set ) { + // convert the value to a string (all browsers do this but IE) see #1070 + elem.setAttribute( name, "" + value ); + } + + // Ensure that missing attributes return undefined + // Blackberry 4.7 returns "" from getAttribute #6938 + if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { + return undefined; + } + + var attr = !jQuery.support.hrefNormalized && notxml && special ? + // Some attributes require a special call on IE + elem.getAttribute( name, 2 ) : + elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return attr === null ? undefined : attr; + } + // Handle everything which isn't a DOM element node + if ( set ) { + elem[ name ] = value; + } + return elem[ name ]; + } +}); + + + + +var rnamespaces = /\.(.*)$/, + rformElems = /^(?:textarea|input|select)$/i, + rperiod = /\./g, + rspace = / /g, + rescape = /[^\w\s.|`]/g, + fcleanup = function( nm ) { + return nm.replace(rescape, "\\$&"); + }; + +/* + * A number of helper functions used for managing events. + * Many of the ideas behind this code originated from + * Dean Edwards' addEvent library. + */ +jQuery.event = { + + // Bind an event to an element + // Original by Dean Edwards + add: function( elem, types, handler, data ) { + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + // TODO :: Use a try/catch until it's safe to pull this out (likely 1.6) + // Minor release fix for bug #8018 + try { + // For whatever reason, IE has trouble passing the window object + // around, causing it to be cloned in the process + if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { + elem = window; + } + } + catch ( e ) {} + + if ( handler === false ) { + handler = returnFalse; + } else if ( !handler ) { + // Fixes bug #7229. Fix recommended by jdalton + return; + } + + var handleObjIn, handleObj; + + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + } + + // Make sure that the function being executed has a unique ID + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure + var elemData = jQuery._data( elem ); + + // If no elemData is found then we must be trying to bind to one of the + // banned noData elements + if ( !elemData ) { + return; + } + + var events = elemData.events, + eventHandle = elemData.handle; + + if ( !events ) { + elemData.events = events = {}; + } + + if ( !eventHandle ) { + elemData.handle = eventHandle = function() { + // Handle the second event of a trigger and when + // an event is called after a page has unloaded + return typeof jQuery !== "undefined" && !jQuery.event.triggered ? + jQuery.event.handle.apply( eventHandle.elem, arguments ) : + undefined; + }; + } + + // Add elem as a property of the handle function + // This is to prevent a memory leak with non-native events in IE. + eventHandle.elem = elem; + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = types.split(" "); + + var type, i = 0, namespaces; + + while ( (type = types[ i++ ]) ) { + handleObj = handleObjIn ? + jQuery.extend({}, handleObjIn) : + { handler: handler, data: data }; + + // Namespaced event handlers + if ( type.indexOf(".") > -1 ) { + namespaces = type.split("."); + type = namespaces.shift(); + handleObj.namespace = namespaces.slice(0).sort().join("."); + + } else { + namespaces = []; + handleObj.namespace = ""; + } + + handleObj.type = type; + if ( !handleObj.guid ) { + handleObj.guid = handler.guid; + } + + // Get the current list of functions bound to this event + var handlers = events[ type ], + special = jQuery.event.special[ type ] || {}; + + // Init the event handler queue + if ( !handlers ) { + handlers = events[ type ] = []; + + // Check for a special event handler + // Only use addEventListener/attachEvent if the special + // events handler returns false + if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { + // Bind the global event handler to the element + if ( elem.addEventListener ) { + elem.addEventListener( type, eventHandle, false ); + + } else if ( elem.attachEvent ) { + elem.attachEvent( "on" + type, eventHandle ); + } + } + } + + if ( special.add ) { + special.add.call( elem, handleObj ); + + if ( !handleObj.handler.guid ) { + handleObj.handler.guid = handler.guid; + } + } + + // Add the function to the element's handler list + handlers.push( handleObj ); + + // Keep track of which events have been used, for global triggering + jQuery.event.global[ type ] = true; + } + + // Nullify elem to prevent memory leaks in IE + elem = null; + }, + + global: {}, + + // Detach an event or set of events from an element + remove: function( elem, types, handler, pos ) { + // don't do events on text and comment nodes + if ( elem.nodeType === 3 || elem.nodeType === 8 ) { + return; + } + + if ( handler === false ) { + handler = returnFalse; + } + + var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ), + events = elemData && elemData.events; + + if ( !elemData || !events ) { + return; + } + + // types is actually an event object here + if ( types && types.type ) { + handler = types.handler; + types = types.type; + } + + // Unbind all events for the element + if ( !types || typeof types === "string" && types.charAt(0) === "." ) { + types = types || ""; + + for ( type in events ) { + jQuery.event.remove( elem, type + types ); + } + + return; + } + + // Handle multiple events separated by a space + // jQuery(...).unbind("mouseover mouseout", fn); + types = types.split(" "); + + while ( (type = types[ i++ ]) ) { + origType = type; + handleObj = null; + all = type.indexOf(".") < 0; + namespaces = []; + + if ( !all ) { + // Namespaced event handlers + namespaces = type.split("."); + type = namespaces.shift(); + + namespace = new RegExp("(^|\\.)" + + jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + eventType = events[ type ]; + + if ( !eventType ) { + continue; + } + + if ( !handler ) { + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( all || namespace.test( handleObj.namespace ) ) { + jQuery.event.remove( elem, origType, handleObj.handler, j ); + eventType.splice( j--, 1 ); + } + } + + continue; + } + + special = jQuery.event.special[ type ] || {}; + + for ( j = pos || 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( handler.guid === handleObj.guid ) { + // remove the given handler for the given type + if ( all || namespace.test( handleObj.namespace ) ) { + if ( pos == null ) { + eventType.splice( j--, 1 ); + } + + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + + if ( pos != null ) { + break; + } + } + } + + // remove generic event handler if no more handlers exist + if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { + if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + ret = null; + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + var handle = elemData.handle; + if ( handle ) { + handle.elem = null; + } + + delete elemData.events; + delete elemData.handle; + + if ( jQuery.isEmptyObject( elemData ) ) { + jQuery.removeData( elem, undefined, true ); + } + } + }, + + // bubbling is internal + trigger: function( event, data, elem /*, bubbling */ ) { + // Event object or event type + var type = event.type || event, + bubbling = arguments[3]; + + if ( !bubbling ) { + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + jQuery.extend( jQuery.Event(type), event ) : + // Just the event type (string) + jQuery.Event(type); + + if ( type.indexOf("!") >= 0 ) { + event.type = type = type.slice(0, -1); + event.exclusive = true; + } + + // Handle a global trigger + if ( !elem ) { + // Don't bubble custom events when global (to avoid too much overhead) + event.stopPropagation(); + + // Only trigger if we've ever bound an event for it + if ( jQuery.event.global[ type ] ) { + // XXX This code smells terrible. event.js should not be directly + // inspecting the data cache + jQuery.each( jQuery.cache, function() { + // internalKey variable is just used to make it easier to find + // and potentially change this stuff later; currently it just + // points to jQuery.expando + var internalKey = jQuery.expando, + internalCache = this[ internalKey ]; + if ( internalCache && internalCache.events && internalCache.events[ type ] ) { + jQuery.event.trigger( event, data, internalCache.handle.elem ); + } + }); + } + } + + // Handle triggering a single element + + // don't do events on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { + return undefined; + } + + // Clean up in case it is reused + event.result = undefined; + event.target = elem; + + // Clone the incoming data, if any + data = jQuery.makeArray( data ); + data.unshift( event ); + } + + event.currentTarget = elem; + + // Trigger the event, it is assumed that "handle" is a function + var handle = jQuery._data( elem, "handle" ); + + if ( handle ) { + handle.apply( elem, data ); + } + + var parent = elem.parentNode || elem.ownerDocument; + + // Trigger an inline bound script + try { + if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { + if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { + event.result = false; + event.preventDefault(); + } + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (inlineError) {} + + if ( !event.isPropagationStopped() && parent ) { + jQuery.event.trigger( event, data, parent, true ); + + } else if ( !event.isDefaultPrevented() ) { + var old, + target = event.target, + targetType = type.replace( rnamespaces, "" ), + isClick = jQuery.nodeName( target, "a" ) && targetType === "click", + special = jQuery.event.special[ targetType ] || {}; + + if ( (!special._default || special._default.call( elem, event ) === false) && + !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { + + try { + if ( target[ targetType ] ) { + // Make sure that we don't accidentally re-trigger the onFOO events + old = target[ "on" + targetType ]; + + if ( old ) { + target[ "on" + targetType ] = null; + } + + jQuery.event.triggered = true; + target[ targetType ](); + } + + // prevent IE from throwing an error for some elements with some event types, see #3533 + } catch (triggerError) {} + + if ( old ) { + target[ "on" + targetType ] = old; + } + + jQuery.event.triggered = false; + } + } + }, + + handle: function( event ) { + var all, handlers, namespaces, namespace_re, events, + namespace_sort = [], + args = jQuery.makeArray( arguments ); + + event = args[0] = jQuery.event.fix( event || window.event ); + event.currentTarget = this; + + // Namespaced event handlers + all = event.type.indexOf(".") < 0 && !event.exclusive; + + if ( !all ) { + namespaces = event.type.split("."); + event.type = namespaces.shift(); + namespace_sort = namespaces.slice(0).sort(); + namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.namespace = event.namespace || namespace_sort.join("."); + + events = jQuery._data(this, "events"); + + handlers = (events || {})[ event.type ]; + + if ( events && handlers ) { + // Clone the handlers to prevent manipulation + handlers = handlers.slice(0); + + for ( var j = 0, l = handlers.length; j < l; j++ ) { + var handleObj = handlers[ j ]; + + // Filter the functions by class + if ( all || namespace_re.test( handleObj.namespace ) ) { + // Pass in a reference to the handler function itself + // So that we can later remove it + event.handler = handleObj.handler; + event.data = handleObj.data; + event.handleObj = handleObj; + + var ret = handleObj.handler.apply( this, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + } + + return event.result; + }, + + props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // store a copy of the original event object + // and "clone" to set read-only properties + var originalEvent = event; + event = jQuery.Event( originalEvent ); + + for ( var i = this.props.length, prop; i; ) { + prop = this.props[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary + if ( !event.target ) { + // Fixes #1925 where srcElement might not be defined either + event.target = event.srcElement || document; + } + + // check if target is a textnode (safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && event.fromElement ) { + event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; + } + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && event.clientX != null ) { + var doc = document.documentElement, + body = document.body; + + event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); + event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); + } + + // Add which for key events + if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { + event.which = event.charCode != null ? event.charCode : event.keyCode; + } + + // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) + if ( !event.metaKey && event.ctrlKey ) { + event.metaKey = event.ctrlKey; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && event.button !== undefined ) { + event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); + } + + return event; + }, + + // Deprecated, use jQuery.guid instead + guid: 1E8, + + // Deprecated, use jQuery.proxy instead + proxy: jQuery.proxy, + + special: { + ready: { + // Make sure the ready event is setup + setup: jQuery.bindReady, + teardown: jQuery.noop + }, + + live: { + add: function( handleObj ) { + jQuery.event.add( this, + liveConvert( handleObj.origType, handleObj.selector ), + jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); + }, + + remove: function( handleObj ) { + jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); + } + }, + + beforeunload: { + setup: function( data, namespaces, eventHandle ) { + // We only want to do this special case on windows + if ( jQuery.isWindow( this ) ) { + this.onbeforeunload = eventHandle; + } + }, + + teardown: function( namespaces, eventHandle ) { + if ( this.onbeforeunload === eventHandle ) { + this.onbeforeunload = null; + } + } + } + } +}; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + if ( elem.detachEvent ) { + elem.detachEvent( "on" + type, handle ); + } + }; + +jQuery.Event = function( src ) { + // Allow instantiation without the 'new' keyword + if ( !this.preventDefault ) { + return new jQuery.Event( src ); + } + + // Event object + if ( src && src.type ) { + this.originalEvent = src; + this.type = src.type; + + // Events bubbling up the document may have been marked as prevented + // by a handler lower down the tree; reflect the correct value. + this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || + src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; + + // Event type + } else { + this.type = src; + } + + // timeStamp is buggy for some events on Firefox(#3843) + // So we won't rely on the native value + this.timeStamp = jQuery.now(); + + // Mark it as fixed + this[ jQuery.expando ] = true; +}; + +function returnFalse() { + return false; +} +function returnTrue() { + return true; +} + +// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html +jQuery.Event.prototype = { + preventDefault: function() { + this.isDefaultPrevented = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + + // if preventDefault exists run it on the original event + if ( e.preventDefault ) { + e.preventDefault(); + + // otherwise set the returnValue property of the original event to false (IE) + } else { + e.returnValue = false; + } + }, + stopPropagation: function() { + this.isPropagationStopped = returnTrue; + + var e = this.originalEvent; + if ( !e ) { + return; + } + // if stopPropagation exists run it on the original event + if ( e.stopPropagation ) { + e.stopPropagation(); + } + // otherwise set the cancelBubble property of the original event to true (IE) + e.cancelBubble = true; + }, + stopImmediatePropagation: function() { + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }, + isDefaultPrevented: returnFalse, + isPropagationStopped: returnFalse, + isImmediatePropagationStopped: returnFalse +}; + +// Checks if an event happened on an element within another element +// Used in jQuery.event.special.mouseenter and mouseleave handlers +var withinElement = function( event ) { + // Check if mouse(over|out) are still within the same parent element + var parent = event.relatedTarget; + + // Firefox sometimes assigns relatedTarget a XUL element + // which we cannot access the parentNode property of + try { + + // Chrome does something similar, the parentNode property + // can be accessed but is null. + if ( parent !== document && !parent.parentNode ) { + return; + } + // Traverse up the tree + while ( parent && parent !== this ) { + parent = parent.parentNode; + } + + if ( parent !== this ) { + // set the correct event type + event.type = event.data; + + // handle event if we actually just moused on to a non sub-element + jQuery.event.handle.apply( this, arguments ); + } + + // assuming we've left the element since we most likely mousedover a xul element + } catch(e) { } +}, + +// In case of event delegation, we only need to rename the event.type, +// liveHandler will take care of the rest. +delegate = function( event ) { + event.type = event.data; + jQuery.event.handle.apply( this, arguments ); +}; + +// Create mouseenter and mouseleave events +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + setup: function( data ) { + jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); + }, + teardown: function( data ) { + jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); + } + }; +}); + +// submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function( data, namespaces ) { + if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { + jQuery.event.add(this, "click.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { + trigger( "submit", this, arguments ); + } + }); + + jQuery.event.add(this, "keypress.specialSubmit", function( e ) { + var elem = e.target, + type = elem.type; + + if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { + trigger( "submit", this, arguments ); + } + }); + + } else { + return false; + } + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialSubmit" ); + } + }; + +} + +// change delegation, happens here so we have bind. +if ( !jQuery.support.changeBubbles ) { + + var changeFilters, + + getVal = function( elem ) { + var type = elem.type, val = elem.value; + + if ( type === "radio" || type === "checkbox" ) { + val = elem.checked; + + } else if ( type === "select-multiple" ) { + val = elem.selectedIndex > -1 ? + jQuery.map( elem.options, function( elem ) { + return elem.selected; + }).join("-") : + ""; + + } else if ( elem.nodeName.toLowerCase() === "select" ) { + val = elem.selectedIndex; + } + + return val; + }, + + testChange = function testChange( e ) { + var elem = e.target, data, val; + + if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { + return; + } + + data = jQuery._data( elem, "_change_data" ); + val = getVal(elem); + + // the current data will be also retrieved by beforeactivate + if ( e.type !== "focusout" || elem.type !== "radio" ) { + jQuery._data( elem, "_change_data", val ); + } + + if ( data === undefined || val === data ) { + return; + } + + if ( data != null || val ) { + e.type = "change"; + e.liveFired = undefined; + jQuery.event.trigger( e, arguments[1], elem ); + } + }; + + jQuery.event.special.change = { + filters: { + focusout: testChange, + + beforedeactivate: testChange, + + click: function( e ) { + var elem = e.target, type = elem.type; + + if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { + testChange.call( this, e ); + } + }, + + // Change has to be called before submit + // Keydown will be called before keypress, which is used in submit-event delegation + keydown: function( e ) { + var elem = e.target, type = elem.type; + + if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || + (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || + type === "select-multiple" ) { + testChange.call( this, e ); + } + }, + + // Beforeactivate happens also before the previous element is blurred + // with this event you can't trigger a change event, but you can store + // information + beforeactivate: function( e ) { + var elem = e.target; + jQuery._data( elem, "_change_data", getVal(elem) ); + } + }, + + setup: function( data, namespaces ) { + if ( this.type === "file" ) { + return false; + } + + for ( var type in changeFilters ) { + jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); + } + + return rformElems.test( this.nodeName ); + }, + + teardown: function( namespaces ) { + jQuery.event.remove( this, ".specialChange" ); + + return rformElems.test( this.nodeName ); + } + }; + + changeFilters = jQuery.event.special.change.filters; + + // Handle when the input is .focus()'d + changeFilters.focus = changeFilters.beforeactivate; +} + +function trigger( type, elem, args ) { + // Piggyback on a donor event to simulate a different one. + // Fake originalEvent to avoid donor's stopPropagation, but if the + // simulated event prevents default then we do the same on the donor. + // Don't pass args or remember liveFired; they apply to the donor event. + var event = jQuery.extend( {}, args[ 0 ] ); + event.type = type; + event.originalEvent = {}; + event.liveFired = undefined; + jQuery.event.handle.call( elem, event ); + if ( event.isDefaultPrevented() ) { + args[ 0 ].preventDefault(); + } +} + +// Create "bubbling" focus and blur events +if ( document.addEventListener ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + jQuery.event.special[ fix ] = { + setup: function() { + this.addEventListener( orig, handler, true ); + }, + teardown: function() { + this.removeEventListener( orig, handler, true ); + } + }; + + function handler( e ) { + e = jQuery.event.fix( e ); + e.type = fix; + return jQuery.event.handle.call( this, e ); + } + }); +} + +jQuery.each(["bind", "one"], function( i, name ) { + jQuery.fn[ name ] = function( type, data, fn ) { + // Handle object literals + if ( typeof type === "object" ) { + for ( var key in type ) { + this[ name ](key, data, type[key], fn); + } + return this; + } + + if ( jQuery.isFunction( data ) || data === false ) { + fn = data; + data = undefined; + } + + var handler = name === "one" ? jQuery.proxy( fn, function( event ) { + jQuery( this ).unbind( event, handler ); + return fn.apply( this, arguments ); + }) : fn; + + if ( type === "unload" && name !== "one" ) { + this.one( type, data, fn ); + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.add( this[i], type, handler, data ); + } + } + + return this; + }; +}); + +jQuery.fn.extend({ + unbind: function( type, fn ) { + // Handle object literals + if ( typeof type === "object" && !type.preventDefault ) { + for ( var key in type ) { + this.unbind(key, type[key]); + } + + } else { + for ( var i = 0, l = this.length; i < l; i++ ) { + jQuery.event.remove( this[i], type, fn ); + } + } + + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.live( types, data, fn, selector ); + }, + + undelegate: function( selector, types, fn ) { + if ( arguments.length === 0 ) { + return this.unbind( "live" ); + + } else { + return this.die( types, null, fn, selector ); + } + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + + triggerHandler: function( type, data ) { + if ( this[0] ) { + var event = jQuery.Event( type ); + event.preventDefault(); + event.stopPropagation(); + jQuery.event.trigger( event, data, this[0] ); + return event.result; + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + i = 1; + + // link all the functions, so any of them can unbind this click handler + while ( i < args.length ) { + jQuery.proxy( fn, args[ i++ ] ); + } + + return this.click( jQuery.proxy( fn, function( event ) { + // Figure out which function to execute + var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; + jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); + + // Make sure that clicks stop + event.preventDefault(); + + // and execute the function + return args[ lastToggle ].apply( this, arguments ) || false; + })); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +var liveMap = { + focus: "focusin", + blur: "focusout", + mouseenter: "mouseover", + mouseleave: "mouseout" +}; + +jQuery.each(["live", "die"], function( i, name ) { + jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { + var type, i = 0, match, namespaces, preType, + selector = origSelector || this.selector, + context = origSelector ? this : jQuery( this.context ); + + if ( typeof types === "object" && !types.preventDefault ) { + for ( var key in types ) { + context[ name ]( key, data, types[key], selector ); + } + + return this; + } + + if ( jQuery.isFunction( data ) ) { + fn = data; + data = undefined; + } + + types = (types || "").split(" "); + + while ( (type = types[ i++ ]) != null ) { + match = rnamespaces.exec( type ); + namespaces = ""; + + if ( match ) { + namespaces = match[0]; + type = type.replace( rnamespaces, "" ); + } + + if ( type === "hover" ) { + types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); + continue; + } + + preType = type; + + if ( type === "focus" || type === "blur" ) { + types.push( liveMap[ type ] + namespaces ); + type = type + namespaces; + + } else { + type = (liveMap[ type ] || type) + namespaces; + } + + if ( name === "live" ) { + // bind live handler + for ( var j = 0, l = context.length; j < l; j++ ) { + jQuery.event.add( context[j], "live." + liveConvert( type, selector ), + { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); + } + + } else { + // unbind live handler + context.unbind( "live." + liveConvert( type, selector ), fn ); + } + } + + return this; + }; +}); + +function liveHandler( event ) { + var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, + elems = [], + selectors = [], + events = jQuery._data( this, "events" ); + + // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) + if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { + return; + } + + if ( event.namespace ) { + namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); + } + + event.liveFired = this; + + var live = events.live.slice(0); + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { + selectors.push( handleObj.selector ); + + } else { + live.splice( j--, 1 ); + } + } + + match = jQuery( event.target ).closest( selectors, event.currentTarget ); + + for ( i = 0, l = match.length; i < l; i++ ) { + close = match[i]; + + for ( j = 0; j < live.length; j++ ) { + handleObj = live[j]; + + if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { + elem = close.elem; + related = null; + + // Those two events require additional checking + if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { + event.type = handleObj.preType; + related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; + } + + if ( !related || related !== elem ) { + elems.push({ elem: elem, handleObj: handleObj, level: close.level }); + } + } + } + } + + for ( i = 0, l = elems.length; i < l; i++ ) { + match = elems[i]; + + if ( maxLevel && match.level > maxLevel ) { + break; + } + + event.currentTarget = match.elem; + event.data = match.handleObj.data; + event.handleObj = match.handleObj; + + ret = match.handleObj.origHandler.apply( match.elem, arguments ); + + if ( ret === false || event.isPropagationStopped() ) { + maxLevel = match.level; + + if ( ret === false ) { + stop = false; + } + if ( event.isImmediatePropagationStopped() ) { + break; + } + } + } + + return stop; +} + +function liveConvert( type, selector ) { + return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); +} + +jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + + "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + + "change select submit keydown keypress keyup error").split(" "), function( i, name ) { + + // Handle event binding + jQuery.fn[ name ] = function( data, fn ) { + if ( fn == null ) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.bind( name, data, fn ) : + this.trigger( name ); + }; + + if ( jQuery.attrFn ) { + jQuery.attrFn[ name ] = true; + } +}); + + +/*! + * Note: While Microsoft is not the author of this file, Microsoft is + * offering you a license subject to the terms of the Microsoft Software + * License Terms for Microsoft ASP.NET Model View Controller 3. + * Microsoft reserves all other rights. The notices below are provided + * for informational purposes only and are not the license terms under + * which Microsoft distributed this file. + * + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * More information: http://sizzlejs.com/ + */ +(function(){ + +var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, + done = 0, + toString = Object.prototype.toString, + hasDuplicate = false, + baseHasDuplicate = true, + rBackslash = /\\/g, + rNonWord = /\W/; + +// Here we check if the JavaScript engine is using some sort of +// optimization where it does not always call our comparision +// function. If that is the case, discard the hasDuplicate value. +// Thus far that includes Google Chrome. +[0, 0].sort(function() { + baseHasDuplicate = false; + return 0; +}); + +var Sizzle = function( selector, context, results, seed ) { + results = results || []; + context = context || document; + + var origContext = context; + + if ( context.nodeType !== 1 && context.nodeType !== 9 ) { + return []; + } + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + var m, set, checkSet, extra, ret, cur, pop, i, + prune = true, + contextXML = Sizzle.isXML( context ), + parts = [], + soFar = selector; + + // Reset the position of the chunker regexp (start from head) + do { + chunker.exec( "" ); + m = chunker.exec( soFar ); + + if ( m ) { + soFar = m[3]; + + parts.push( m[1] ); + + if ( m[2] ) { + extra = m[3]; + break; + } + } + } while ( m ); + + if ( parts.length > 1 && origPOS.exec( selector ) ) { + + if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { + set = posProcess( parts[0] + parts[1], context ); + + } else { + set = Expr.relative[ parts[0] ] ? + [ context ] : + Sizzle( parts.shift(), context ); + + while ( parts.length ) { + selector = parts.shift(); + + if ( Expr.relative[ selector ] ) { + selector += parts.shift(); + } + + set = posProcess( selector, set ); + } + } + + } else { + // Take a shortcut and set the context if the root selector is an ID + // (but not if it'll be faster if the inner selector is an ID) + if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && + Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { + + ret = Sizzle.find( parts.shift(), context, contextXML ); + context = ret.expr ? + Sizzle.filter( ret.expr, ret.set )[0] : + ret.set[0]; + } + + if ( context ) { + ret = seed ? + { expr: parts.pop(), set: makeArray(seed) } : + Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); + + set = ret.expr ? + Sizzle.filter( ret.expr, ret.set ) : + ret.set; + + if ( parts.length > 0 ) { + checkSet = makeArray( set ); + + } else { + prune = false; + } + + while ( parts.length ) { + cur = parts.pop(); + pop = cur; + + if ( !Expr.relative[ cur ] ) { + cur = ""; + } else { + pop = parts.pop(); + } + + if ( pop == null ) { + pop = context; + } + + Expr.relative[ cur ]( checkSet, pop, contextXML ); + } + + } else { + checkSet = parts = []; + } + } + + if ( !checkSet ) { + checkSet = set; + } + + if ( !checkSet ) { + Sizzle.error( cur || selector ); + } + + if ( toString.call(checkSet) === "[object Array]" ) { + if ( !prune ) { + results.push.apply( results, checkSet ); + + } else if ( context && context.nodeType === 1 ) { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { + results.push( set[i] ); + } + } + + } else { + for ( i = 0; checkSet[i] != null; i++ ) { + if ( checkSet[i] && checkSet[i].nodeType === 1 ) { + results.push( set[i] ); + } + } + } + + } else { + makeArray( checkSet, results ); + } + + if ( extra ) { + Sizzle( extra, origContext, results, seed ); + Sizzle.uniqueSort( results ); + } + + return results; +}; + +Sizzle.uniqueSort = function( results ) { + if ( sortOrder ) { + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( var i = 1; i < results.length; i++ ) { + if ( results[i] === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + } + + return results; +}; + +Sizzle.matches = function( expr, set ) { + return Sizzle( expr, null, null, set ); +}; + +Sizzle.matchesSelector = function( node, expr ) { + return Sizzle( expr, null, null, [node] ).length > 0; +}; + +Sizzle.find = function( expr, context, isXML ) { + var set; + + if ( !expr ) { + return []; + } + + for ( var i = 0, l = Expr.order.length; i < l; i++ ) { + var match, + type = Expr.order[i]; + + if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { + var left = match[1]; + match.splice( 1, 1 ); + + if ( left.substr( left.length - 1 ) !== "\\" ) { + match[1] = (match[1] || "").replace( rBackslash, "" ); + set = Expr.find[ type ]( match, context, isXML ); + + if ( set != null ) { + expr = expr.replace( Expr.match[ type ], "" ); + break; + } + } + } + } + + if ( !set ) { + set = typeof context.getElementsByTagName !== "undefined" ? + context.getElementsByTagName( "*" ) : + []; + } + + return { set: set, expr: expr }; +}; + +Sizzle.filter = function( expr, set, inplace, not ) { + var match, anyFound, + old = expr, + result = [], + curLoop = set, + isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); + + while ( expr && set.length ) { + for ( var type in Expr.filter ) { + if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { + var found, item, + filter = Expr.filter[ type ], + left = match[1]; + + anyFound = false; + + match.splice(1,1); + + if ( left.substr( left.length - 1 ) === "\\" ) { + continue; + } + + if ( curLoop === result ) { + result = []; + } + + if ( Expr.preFilter[ type ] ) { + match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); + + if ( !match ) { + anyFound = found = true; + + } else if ( match === true ) { + continue; + } + } + + if ( match ) { + for ( var i = 0; (item = curLoop[i]) != null; i++ ) { + if ( item ) { + found = filter( item, match, i, curLoop ); + var pass = not ^ !!found; + + if ( inplace && found != null ) { + if ( pass ) { + anyFound = true; + + } else { + curLoop[i] = false; + } + + } else if ( pass ) { + result.push( item ); + anyFound = true; + } + } + } + } + + if ( found !== undefined ) { + if ( !inplace ) { + curLoop = result; + } + + expr = expr.replace( Expr.match[ type ], "" ); + + if ( !anyFound ) { + return []; + } + + break; + } + } + } + + // Improper expression + if ( expr === old ) { + if ( anyFound == null ) { + Sizzle.error( expr ); + + } else { + break; + } + } + + old = expr; + } + + return curLoop; +}; + +Sizzle.error = function( msg ) { + throw "Syntax error, unrecognized expression: " + msg; +}; + +var Expr = Sizzle.selectors = { + order: [ "ID", "NAME", "TAG" ], + + match: { + ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, + NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, + ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, + TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, + CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, + POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, + PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ + }, + + leftMatch: {}, + + attrMap: { + "class": "className", + "for": "htmlFor" + }, + + attrHandle: { + href: function( elem ) { + return elem.getAttribute( "href" ); + }, + type: function( elem ) { + return elem.getAttribute( "type" ); + } + }, + + relative: { + "+": function(checkSet, part){ + var isPartStr = typeof part === "string", + isTag = isPartStr && !rNonWord.test( part ), + isPartStrNotTag = isPartStr && !isTag; + + if ( isTag ) { + part = part.toLowerCase(); + } + + for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { + if ( (elem = checkSet[i]) ) { + while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} + + checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? + elem || false : + elem === part; + } + } + + if ( isPartStrNotTag ) { + Sizzle.filter( part, checkSet, true ); + } + }, + + ">": function( checkSet, part ) { + var elem, + isPartStr = typeof part === "string", + i = 0, + l = checkSet.length; + + if ( isPartStr && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + var parent = elem.parentNode; + checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; + } + } + + } else { + for ( ; i < l; i++ ) { + elem = checkSet[i]; + + if ( elem ) { + checkSet[i] = isPartStr ? + elem.parentNode : + elem.parentNode === part; + } + } + + if ( isPartStr ) { + Sizzle.filter( part, checkSet, true ); + } + } + }, + + "": function(checkSet, part, isXML){ + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); + }, + + "~": function( checkSet, part, isXML ) { + var nodeCheck, + doneName = done++, + checkFn = dirCheck; + + if ( typeof part === "string" && !rNonWord.test( part ) ) { + part = part.toLowerCase(); + nodeCheck = part; + checkFn = dirNodeCheck; + } + + checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); + } + }, + + find: { + ID: function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + }, + + NAME: function( match, context ) { + if ( typeof context.getElementsByName !== "undefined" ) { + var ret = [], + results = context.getElementsByName( match[1] ); + + for ( var i = 0, l = results.length; i < l; i++ ) { + if ( results[i].getAttribute("name") === match[1] ) { + ret.push( results[i] ); + } + } + + return ret.length === 0 ? null : ret; + } + }, + + TAG: function( match, context ) { + if ( typeof context.getElementsByTagName !== "undefined" ) { + return context.getElementsByTagName( match[1] ); + } + } + }, + preFilter: { + CLASS: function( match, curLoop, inplace, result, not, isXML ) { + match = " " + match[1].replace( rBackslash, "" ) + " "; + + if ( isXML ) { + return match; + } + + for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { + if ( elem ) { + if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { + if ( !inplace ) { + result.push( elem ); + } + + } else if ( inplace ) { + curLoop[i] = false; + } + } + } + + return false; + }, + + ID: function( match ) { + return match[1].replace( rBackslash, "" ); + }, + + TAG: function( match, curLoop ) { + return match[1].replace( rBackslash, "" ).toLowerCase(); + }, + + CHILD: function( match ) { + if ( match[1] === "nth" ) { + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + match[2] = match[2].replace(/^\+|\s*/g, ''); + + // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' + var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( + match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || + !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); + + // calculate the numbers (first)n+(last) including if they are negative + match[2] = (test[1] + (test[2] || 1)) - 0; + match[3] = test[3] - 0; + } + else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + // TODO: Move to normal caching system + match[0] = done++; + + return match; + }, + + ATTR: function( match, curLoop, inplace, result, not, isXML ) { + var name = match[1] = match[1].replace( rBackslash, "" ); + + if ( !isXML && Expr.attrMap[name] ) { + match[1] = Expr.attrMap[name]; + } + + // Handle if an un-quoted value was used + match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); + + if ( match[2] === "~=" ) { + match[4] = " " + match[4] + " "; + } + + return match; + }, + + PSEUDO: function( match, curLoop, inplace, result, not ) { + if ( match[1] === "not" ) { + // If we're dealing with a complex expression, or a simple one + if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { + match[3] = Sizzle(match[3], null, null, curLoop); + + } else { + var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); + + if ( !inplace ) { + result.push.apply( result, ret ); + } + + return false; + } + + } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { + return true; + } + + return match; + }, + + POS: function( match ) { + match.unshift( true ); + + return match; + } + }, + + filters: { + enabled: function( elem ) { + return elem.disabled === false && elem.type !== "hidden"; + }, + + disabled: function( elem ) { + return elem.disabled === true; + }, + + checked: function( elem ) { + return elem.checked === true; + }, + + selected: function( elem ) { + // Accessing this property makes selected-by-default + // options in Safari work properly + if ( elem.parentNode ) { + elem.parentNode.selectedIndex; + } + + return elem.selected === true; + }, + + parent: function( elem ) { + return !!elem.firstChild; + }, + + empty: function( elem ) { + return !elem.firstChild; + }, + + has: function( elem, i, match ) { + return !!Sizzle( match[3], elem ).length; + }, + + header: function( elem ) { + return (/h\d/i).test( elem.nodeName ); + }, + + text: function( elem ) { + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return "text" === elem.getAttribute( 'type' ); + }, + radio: function( elem ) { + return "radio" === elem.type; + }, + + checkbox: function( elem ) { + return "checkbox" === elem.type; + }, + + file: function( elem ) { + return "file" === elem.type; + }, + password: function( elem ) { + return "password" === elem.type; + }, + + submit: function( elem ) { + return "submit" === elem.type; + }, + + image: function( elem ) { + return "image" === elem.type; + }, + + reset: function( elem ) { + return "reset" === elem.type; + }, + + button: function( elem ) { + return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; + }, + + input: function( elem ) { + return (/input|select|textarea|button/i).test( elem.nodeName ); + } + }, + setFilters: { + first: function( elem, i ) { + return i === 0; + }, + + last: function( elem, i, match, array ) { + return i === array.length - 1; + }, + + even: function( elem, i ) { + return i % 2 === 0; + }, + + odd: function( elem, i ) { + return i % 2 === 1; + }, + + lt: function( elem, i, match ) { + return i < match[3] - 0; + }, + + gt: function( elem, i, match ) { + return i > match[3] - 0; + }, + + nth: function( elem, i, match ) { + return match[3] - 0 === i; + }, + + eq: function( elem, i, match ) { + return match[3] - 0 === i; + } + }, + filter: { + PSEUDO: function( elem, match, i, array ) { + var name = match[1], + filter = Expr.filters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + + } else if ( name === "contains" ) { + return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; + + } else if ( name === "not" ) { + var not = match[3]; + + for ( var j = 0, l = not.length; j < l; j++ ) { + if ( not[j] === elem ) { + return false; + } + } + + return true; + + } else { + Sizzle.error( name ); + } + }, + + CHILD: function( elem, match ) { + var type = match[1], + node = elem; + + switch ( type ) { + case "only": + case "first": + while ( (node = node.previousSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + if ( type === "first" ) { + return true; + } + + node = elem; + + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + + case "nth": + var first = match[2], + last = match[3]; + + if ( first === 1 && last === 0 ) { + return true; + } + + var doneName = match[0], + parent = elem.parentNode; + + if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { + var count = 0; + + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + node.nodeIndex = ++count; + } + } + + parent.sizcache = doneName; + } + + var diff = elem.nodeIndex - last; + + if ( first === 0 ) { + return diff === 0; + + } else { + return ( diff % first === 0 && diff / first >= 0 ); + } + } + }, + + ID: function( elem, match ) { + return elem.nodeType === 1 && elem.getAttribute("id") === match; + }, + + TAG: function( elem, match ) { + return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; + }, + + CLASS: function( elem, match ) { + return (" " + (elem.className || elem.getAttribute("class")) + " ") + .indexOf( match ) > -1; + }, + + ATTR: function( elem, match ) { + var name = match[1], + result = Expr.attrHandle[ name ] ? + Expr.attrHandle[ name ]( elem ) : + elem[ name ] != null ? + elem[ name ] : + elem.getAttribute( name ), + value = result + "", + type = match[2], + check = match[4]; + + return result == null ? + type === "!=" : + type === "=" ? + value === check : + type === "*=" ? + value.indexOf(check) >= 0 : + type === "~=" ? + (" " + value + " ").indexOf(check) >= 0 : + !check ? + value && result !== false : + type === "!=" ? + value !== check : + type === "^=" ? + value.indexOf(check) === 0 : + type === "$=" ? + value.substr(value.length - check.length) === check : + type === "|=" ? + value === check || value.substr(0, check.length + 1) === check + "-" : + false; + }, + + POS: function( elem, match, i, array ) { + var name = match[2], + filter = Expr.setFilters[ name ]; + + if ( filter ) { + return filter( elem, i, match, array ); + } + } + } +}; + +var origPOS = Expr.match.POS, + fescape = function(all, num){ + return "\\" + (num - 0 + 1); + }; + +for ( var type in Expr.match ) { + Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); + Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); +} + +var makeArray = function( array, results ) { + array = Array.prototype.slice.call( array, 0 ); + + if ( results ) { + results.push.apply( results, array ); + return results; + } + + return array; +}; + +// Perform a simple check to determine if the browser is capable of +// converting a NodeList to an array using builtin methods. +// Also verifies that the returned array holds DOM nodes +// (which is not the case in the Blackberry browser) +try { + Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; + +// Provide a fallback method if it does not work +} catch( e ) { + makeArray = function( array, results ) { + var i = 0, + ret = results || []; + + if ( toString.call(array) === "[object Array]" ) { + Array.prototype.push.apply( ret, array ); + + } else { + if ( typeof array.length === "number" ) { + for ( var l = array.length; i < l; i++ ) { + ret.push( array[i] ); + } + + } else { + for ( ; array[i]; i++ ) { + ret.push( array[i] ); + } + } + } + + return ret; + }; +} + +var sortOrder, siblingCheck; + +if ( document.documentElement.compareDocumentPosition ) { + sortOrder = function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { + return a.compareDocumentPosition ? -1 : 1; + } + + return a.compareDocumentPosition(b) & 4 ? -1 : 1; + }; + +} else { + sortOrder = function( a, b ) { + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // If the nodes are siblings (or identical) we can do a quick check + } else if ( aup === bup ) { + return siblingCheck( a, b ); + + // If no parents were found then the nodes are disconnected + } else if ( !aup ) { + return -1; + + } else if ( !bup ) { + return 1; + } + + // Otherwise they're somewhere else in the tree so we need + // to build up a full list of the parentNodes for comparison + while ( cur ) { + ap.unshift( cur ); + cur = cur.parentNode; + } + + cur = bup; + + while ( cur ) { + bp.unshift( cur ); + cur = cur.parentNode; + } + + al = ap.length; + bl = bp.length; + + // Start walking down the tree looking for a discrepancy + for ( var i = 0; i < al && i < bl; i++ ) { + if ( ap[i] !== bp[i] ) { + return siblingCheck( ap[i], bp[i] ); + } + } + + // We ended someplace up the tree so do a sibling check + return i === al ? + siblingCheck( a, bp[i], -1 ) : + siblingCheck( ap[i], b, 1 ); + }; + + siblingCheck = function( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; + }; +} + +// Utility function for retreiving the text value of an array of DOM nodes +Sizzle.getText = function( elems ) { + var ret = "", elem; + + for ( var i = 0; elems[i]; i++ ) { + elem = elems[i]; + + // Get the text from text nodes and CDATA nodes + if ( elem.nodeType === 3 || elem.nodeType === 4 ) { + ret += elem.nodeValue; + + // Traverse everything else, except comment nodes + } else if ( elem.nodeType !== 8 ) { + ret += Sizzle.getText( elem.childNodes ); + } + } + + return ret; +}; + +// Check to see if the browser returns elements by name when +// querying by getElementById (and provide a workaround) +(function(){ + // We're going to inject a fake input element with a specified name + var form = document.createElement("div"), + id = "script" + (new Date()).getTime(), + root = document.documentElement; + + form.innerHTML = ""; + + // Inject it into the root element, check its status, and remove it quickly + root.insertBefore( form, root.firstChild ); + + // The workaround has to do additional checks after a getElementById + // Which slows things down for other browsers (hence the branching) + if ( document.getElementById( id ) ) { + Expr.find.ID = function( match, context, isXML ) { + if ( typeof context.getElementById !== "undefined" && !isXML ) { + var m = context.getElementById(match[1]); + + return m ? + m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? + [m] : + undefined : + []; + } + }; + + Expr.filter.ID = function( elem, match ) { + var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); + + return elem.nodeType === 1 && node && node.nodeValue === match; + }; + } + + root.removeChild( form ); + + // release memory in IE + root = form = null; +})(); + +(function(){ + // Check to see if the browser returns only elements + // when doing getElementsByTagName("*") + + // Create a fake element + var div = document.createElement("div"); + div.appendChild( document.createComment("") ); + + // Make sure no comments are found + if ( div.getElementsByTagName("*").length > 0 ) { + Expr.find.TAG = function( match, context ) { + var results = context.getElementsByTagName( match[1] ); + + // Filter out possible comments + if ( match[1] === "*" ) { + var tmp = []; + + for ( var i = 0; results[i]; i++ ) { + if ( results[i].nodeType === 1 ) { + tmp.push( results[i] ); + } + } + + results = tmp; + } + + return results; + }; + } + + // Check to see if an attribute returns normalized href attributes + div.innerHTML = ""; + + if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && + div.firstChild.getAttribute("href") !== "#" ) { + + Expr.attrHandle.href = function( elem ) { + return elem.getAttribute( "href", 2 ); + }; + } + + // release memory in IE + div = null; +})(); + +if ( document.querySelectorAll ) { + (function(){ + var oldSizzle = Sizzle, + div = document.createElement("div"), + id = "__sizzle__"; + + div.innerHTML = "

      "; + + // Safari can't handle uppercase or unicode characters when + // in quirks mode. + if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { + return; + } + + Sizzle = function( query, context, extra, seed ) { + context = context || document; + + // Only use querySelectorAll on non-XML documents + // (ID selectors don't work in non-HTML documents) + if ( !seed && !Sizzle.isXML(context) ) { + // See if we find a selector to speed up + var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); + + if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { + // Speed-up: Sizzle("TAG") + if ( match[1] ) { + return makeArray( context.getElementsByTagName( query ), extra ); + + // Speed-up: Sizzle(".CLASS") + } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { + return makeArray( context.getElementsByClassName( match[2] ), extra ); + } + } + + if ( context.nodeType === 9 ) { + // Speed-up: Sizzle("body") + // The body element only exists once, optimize finding it + if ( query === "body" && context.body ) { + return makeArray( [ context.body ], extra ); + + // Speed-up: Sizzle("#ID") + } else if ( match && match[3] ) { + var elem = context.getElementById( match[3] ); + + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + if ( elem && elem.parentNode ) { + // Handle the case where IE and Opera return items + // by name instead of ID + if ( elem.id === match[3] ) { + return makeArray( [ elem ], extra ); + } + + } else { + return makeArray( [], extra ); + } + } + + try { + return makeArray( context.querySelectorAll(query), extra ); + } catch(qsaError) {} + + // qSA works strangely on Element-rooted queries + // We can work around this by specifying an extra ID on the root + // and working up from there (Thanks to Andrew Dupont for the technique) + // IE 8 doesn't work on object elements + } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + var oldContext = context, + old = context.getAttribute( "id" ), + nid = old || id, + hasParent = context.parentNode, + relativeHierarchySelector = /^\s*[+~]/.test( query ); + + if ( !old ) { + context.setAttribute( "id", nid ); + } else { + nid = nid.replace( /'/g, "\\$&" ); + } + if ( relativeHierarchySelector && hasParent ) { + context = context.parentNode; + } + + try { + if ( !relativeHierarchySelector || hasParent ) { + return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); + } + + } catch(pseudoError) { + } finally { + if ( !old ) { + oldContext.removeAttribute( "id" ); + } + } + } + } + + return oldSizzle(query, context, extra, seed); + }; + + for ( var prop in oldSizzle ) { + Sizzle[ prop ] = oldSizzle[ prop ]; + } + + // release memory in IE + div = null; + })(); +} + +(function(){ + var html = document.documentElement, + matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector, + pseudoWorks = false; + + try { + // This should fail with an exception + // Gecko does not error, returns false instead + matches.call( document.documentElement, "[test!='']:sizzle" ); + + } catch( pseudoError ) { + pseudoWorks = true; + } + + if ( matches ) { + Sizzle.matchesSelector = function( node, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); + + if ( !Sizzle.isXML( node ) ) { + try { + if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { + return matches.call( node, expr ); + } + } catch(e) {} + } + + return Sizzle(expr, null, null, [node]).length > 0; + }; + } +})(); + +(function(){ + var div = document.createElement("div"); + + div.innerHTML = "
      "; + + // Opera can't find a second classname (in 9.6) + // Also, make sure that getElementsByClassName actually exists + if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { + return; + } + + // Safari caches class attributes, doesn't catch changes (in 3.2) + div.lastChild.className = "e"; + + if ( div.getElementsByClassName("e").length === 1 ) { + return; + } + + Expr.order.splice(1, 0, "CLASS"); + Expr.find.CLASS = function( match, context, isXML ) { + if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { + return context.getElementsByClassName(match[1]); + } + }; + + // release memory in IE + div = null; +})(); + +function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 && !isXML ){ + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( elem.nodeName.toLowerCase() === cur ) { + match = elem; + break; + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { + for ( var i = 0, l = checkSet.length; i < l; i++ ) { + var elem = checkSet[i]; + + if ( elem ) { + var match = false; + + elem = elem[dir]; + + while ( elem ) { + if ( elem.sizcache === doneName ) { + match = checkSet[elem.sizset]; + break; + } + + if ( elem.nodeType === 1 ) { + if ( !isXML ) { + elem.sizcache = doneName; + elem.sizset = i; + } + + if ( typeof cur !== "string" ) { + if ( elem === cur ) { + match = true; + break; + } + + } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { + match = elem; + break; + } + } + + elem = elem[dir]; + } + + checkSet[i] = match; + } + } +} + +if ( document.documentElement.contains ) { + Sizzle.contains = function( a, b ) { + return a !== b && (a.contains ? a.contains(b) : true); + }; + +} else if ( document.documentElement.compareDocumentPosition ) { + Sizzle.contains = function( a, b ) { + return !!(a.compareDocumentPosition(b) & 16); + }; + +} else { + Sizzle.contains = function() { + return false; + }; +} + +Sizzle.isXML = function( elem ) { + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; + + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +var posProcess = function( selector, context ) { + var match, + tmpSet = [], + later = "", + root = context.nodeType ? [context] : context; + + // Position selectors must be done after the filter + // And so must :not(positional) so we move all PSEUDOs to the end + while ( (match = Expr.match.PSEUDO.exec( selector )) ) { + later += match[0]; + selector = selector.replace( Expr.match.PSEUDO, "" ); + } + + selector = Expr.relative[selector] ? selector + "*" : selector; + + for ( var i = 0, l = root.length; i < l; i++ ) { + Sizzle( selector, root[i], tmpSet ); + } + + return Sizzle.filter( later, tmpSet ); +}; + +// EXPOSE +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.filters; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})(); + + +var runtil = /Until$/, + rparentsprev = /^(?:parents|prevUntil|prevAll)/, + // Note: This RegExp should be improved, or likely pulled from Sizzle + rmultiselector = /,/, + isSimple = /^.[^:#\[\.,]*$/, + slice = Array.prototype.slice, + POS = jQuery.expr.match.POS, + // methods guaranteed to produce a unique set when starting from a unique set + guaranteedUnique = { + children: true, + contents: true, + next: true, + prev: true + }; + +jQuery.fn.extend({ + find: function( selector ) { + var ret = this.pushStack( "", "find", selector ), + length = 0; + + for ( var i = 0, l = this.length; i < l; i++ ) { + length = ret.length; + jQuery.find( selector, this[i], ret ); + + if ( i > 0 ) { + // Make sure that the results are unique + for ( var n = length; n < ret.length; n++ ) { + for ( var r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var targets = jQuery( target ); + return this.filter(function() { + for ( var i = 0, l = targets.length; i < l; i++ ) { + if ( jQuery.contains( this, targets[i] ) ) { + return true; + } + } + }); + }, + + not: function( selector ) { + return this.pushStack( winnow(this, selector, false), "not", selector); + }, + + filter: function( selector ) { + return this.pushStack( winnow(this, selector, true), "filter", selector ); + }, + + is: function( selector ) { + return !!selector && jQuery.filter( selector, this ).length > 0; + }, + + closest: function( selectors, context ) { + var ret = [], i, l, cur = this[0]; + + if ( jQuery.isArray( selectors ) ) { + var match, selector, + matches = {}, + level = 1; + + if ( cur && selectors.length ) { + for ( i = 0, l = selectors.length; i < l; i++ ) { + selector = selectors[i]; + + if ( !matches[selector] ) { + matches[selector] = jQuery.expr.match.POS.test( selector ) ? + jQuery( selector, context || this.context ) : + selector; + } + } + + while ( cur && cur.ownerDocument && cur !== context ) { + for ( selector in matches ) { + match = matches[selector]; + + if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { + ret.push({ selector: selector, elem: cur, level: level }); + } + } + + cur = cur.parentNode; + level++; + } + } + + return ret; + } + + var pos = POS.test( selectors ) ? + jQuery( selectors, context || this.context ) : null; + + for ( i = 0, l = this.length; i < l; i++ ) { + cur = this[i]; + + while ( cur ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + + } else { + cur = cur.parentNode; + if ( !cur || !cur.ownerDocument || cur === context ) { + break; + } + } + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack( ret, "closest", selectors ); + }, + + // Determine the position of an element within + // the matched set of elements + index: function( elem ) { + if ( !elem || typeof elem === "string" ) { + return jQuery.inArray( this[0], + // If it receives a string, the selector is used + // If it receives nothing, the siblings are used + elem ? jQuery( elem ) : this.parent().children() ); + } + // Locate the position of the desired element + return jQuery.inArray( + // If it receives a jQuery object, the first element is used + elem.jquery ? elem[0] : elem, this ); + }, + + add: function( selector, context ) { + var set = typeof selector === "string" ? + jQuery( selector, context ) : + jQuery.makeArray( selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + andSelf: function() { + return this.add( this.prevObject ); + } +}); + +// A painfully simple check to see if an element is disconnected +// from a document (should be improved, where feasible). +function isDisconnected( node ) { + return !node || !node.parentNode || node.parentNode.nodeType === 11; +} + +jQuery.each({ + parent: function( elem ) { + var parent = elem.parentNode; + return parent && parent.nodeType !== 11 ? parent : null; + }, + parents: function( elem ) { + return jQuery.dir( elem, "parentNode" ); + }, + parentsUntil: function( elem, i, until ) { + return jQuery.dir( elem, "parentNode", until ); + }, + next: function( elem ) { + return jQuery.nth( elem, 2, "nextSibling" ); + }, + prev: function( elem ) { + return jQuery.nth( elem, 2, "previousSibling" ); + }, + nextAll: function( elem ) { + return jQuery.dir( elem, "nextSibling" ); + }, + prevAll: function( elem ) { + return jQuery.dir( elem, "previousSibling" ); + }, + nextUntil: function( elem, i, until ) { + return jQuery.dir( elem, "nextSibling", until ); + }, + prevUntil: function( elem, i, until ) { + return jQuery.dir( elem, "previousSibling", until ); + }, + siblings: function( elem ) { + return jQuery.sibling( elem.parentNode.firstChild, elem ); + }, + children: function( elem ) { + return jQuery.sibling( elem.firstChild ); + }, + contents: function( elem ) { + return jQuery.nodeName( elem, "iframe" ) ? + elem.contentDocument || elem.contentWindow.document : + jQuery.makeArray( elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ), + // The variable 'args' was introduced in + // https://github.com/jquery/jquery/commit/52a0238 + // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. + // http://code.google.com/p/v8/issues/detail?id=1050 + args = slice.call(arguments); + + if ( !runtil.test( name ) ) { + selector = until; + } + + if ( selector && typeof selector === "string" ) { + ret = jQuery.filter( selector, ret ); + } + + ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; + + if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, args.join(",") ); + }; +}); + +jQuery.extend({ + filter: function( expr, elems, not ) { + if ( not ) { + expr = ":not(" + expr + ")"; + } + + return elems.length === 1 ? + jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : + jQuery.find.matches(expr, elems); + }, + + dir: function( elem, dir, until ) { + var matched = [], + cur = elem[ dir ]; + + while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { + if ( cur.nodeType === 1 ) { + matched.push( cur ); + } + cur = cur[dir]; + } + return matched; + }, + + nth: function( cur, result, dir, elem ) { + result = result || 1; + var num = 0; + + for ( ; cur; cur = cur[dir] ) { + if ( cur.nodeType === 1 && ++num === result ) { + break; + } + } + + return cur; + }, + + sibling: function( n, elem ) { + var r = []; + + for ( ; n; n = n.nextSibling ) { + if ( n.nodeType === 1 && n !== elem ) { + r.push( n ); + } + } + + return r; + } +}); + +// Implement the identical functionality for filter and not +function winnow( elements, qualifier, keep ) { + if ( jQuery.isFunction( qualifier ) ) { + return jQuery.grep(elements, function( elem, i ) { + var retVal = !!qualifier.call( elem, i, elem ); + return retVal === keep; + }); + + } else if ( qualifier.nodeType ) { + return jQuery.grep(elements, function( elem, i ) { + return (elem === qualifier) === keep; + }); + + } else if ( typeof qualifier === "string" ) { + var filtered = jQuery.grep(elements, function( elem ) { + return elem.nodeType === 1; + }); + + if ( isSimple.test( qualifier ) ) { + return jQuery.filter(qualifier, filtered, !keep); + } else { + qualifier = jQuery.filter( qualifier, filtered ); + } + } + + return jQuery.grep(elements, function( elem, i ) { + return (jQuery.inArray( elem, qualifier ) >= 0) === keep; + }); +} + + + + +var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, + rtagName = /<([\w:]+)/, + rtbody = /", "" ], + legend: [ 1, "
      ", "
      " ], + thead: [ 1, "", "
      " ], + tr: [ 2, "", "
      " ], + td: [ 3, "", "
      " ], + col: [ 2, "", "
      " ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }; + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE can't serialize and