From 68bc6f76d541a789d41e582114c270eabc7e08cb Mon Sep 17 00:00:00 2001 From: gmobydick Date: Wed, 3 Aug 2011 22:47:56 +0200 Subject: [PATCH] Added first Admin pages (Index and Create) --- TaskDO/DAO/ProjectDAO.cs | 8 + TaskDO/Entities/Entity.cs | 2 +- TaskDO/Entities/TimeStampEventListener.cs | 67 - TaskDO/Mapping/EntityMap.cs | 8 +- TaskDO/TaskDO.csproj | 2 +- TaskMVC/Areas/Admin/AdminAreaRegistration.cs | 2 +- .../Admin/Controllers/ProjectController.cs | 122 ++ .../Controllers/ProjectTaskController.cs | 20 - TaskMVC/Areas/Admin/Models/AdminModel.cs | 19 + .../Areas/Admin/Views/Project/Create.cshtml | 30 + .../Areas/Admin/Views/Project/Index.cshtml | 34 + TaskMVC/Areas/Admin/Views/_ViewStart.cshtml | 3 + TaskMVC/Content/Menues.png | Bin 0 -> 3579 bytes TaskMVC/Content/Site.css | 96 ++ TaskMVC/Content/Site2.css | 428 +++++ TaskMVC/Content/images/topBg-repeat.png | Bin 0 -> 256 bytes TaskMVC/Content/images/topRepeat.png | Bin 0 -> 319 bytes .../images/ui-bg_flat_30_cccccc_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_flat_50_5c5c5c_40x100.png | Bin 0 -> 180 bytes .../images/ui-bg_glass_20_555555_1x400.png | Bin 0 -> 115 bytes .../images/ui-bg_glass_40_0078a3_1x400.png | Bin 0 -> 135 bytes .../images/ui-bg_glass_40_ffc73d_1x400.png | Bin 0 -> 131 bytes .../ui-bg_gloss-wave_25_333333_500x100.png | Bin 0 -> 1874 bytes .../ui-bg_highlight-soft_80_eeeeee_1x100.png | Bin 0 -> 95 bytes .../ui-bg_inset-soft_25_000000_1x100.png | Bin 0 -> 98 bytes .../ui-bg_inset-soft_30_f58400_1x100.png | Bin 0 -> 117 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_4b8e0b_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_a83300_256x240.png | Bin 0 -> 5355 bytes .../images/ui-icons_cccccc_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-darkness/jquery-ui-1.8.8.custom.css | 1396 ++++++++++++++++ .../ui-bg_diagonals-thick_18_b81900_40x40.png | Bin 0 -> 260 bytes .../ui-bg_diagonals-thick_20_666666_40x40.png | Bin 0 -> 251 bytes .../images/ui-bg_flat_10_000000_40x100.png | Bin 0 -> 178 bytes .../images/ui-bg_glass_100_f6f6f6_1x400.png | Bin 0 -> 104 bytes .../images/ui-bg_glass_100_fdf5ce_1x400.png | Bin 0 -> 125 bytes .../images/ui-bg_glass_65_ffffff_1x400.png | Bin 0 -> 105 bytes .../ui-bg_gloss-wave_35_f6a828_500x100.png | Bin 0 -> 3762 bytes .../ui-bg_highlight-soft_100_eeeeee_1x100.png | Bin 0 -> 90 bytes .../ui-bg_highlight-soft_75_ffe45c_1x100.png | Bin 0 -> 129 bytes .../images/ui-icons_222222_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_228ef1_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ef8c08_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffd27a_256x240.png | Bin 0 -> 4369 bytes .../images/ui-icons_ffffff_256x240.png | Bin 0 -> 4369 bytes .../ui-lightness/jquery-ui-1.8.9.custom.css | 1397 +++++++++++++++++ TaskMVC/EntityListener.cs | 150 ++ TaskMVC/Global.asax.cs | 21 +- TaskMVC/Scripts/MyScripts.js | 55 + TaskMVC/Scripts/jquery.scrollTo-min.js | 11 + TaskMVC/TaskMVC.csproj | 53 +- TaskMVC/Views/Shared/_Layout.cshtml | 86 +- TaskMVC/Web.config | 20 + 54 files changed, 3896 insertions(+), 134 deletions(-) create mode 100644 TaskDO/DAO/ProjectDAO.cs delete mode 100644 TaskDO/Entities/TimeStampEventListener.cs create mode 100644 TaskMVC/Areas/Admin/Controllers/ProjectController.cs delete mode 100644 TaskMVC/Areas/Admin/Controllers/ProjectTaskController.cs create mode 100644 TaskMVC/Areas/Admin/Models/AdminModel.cs create mode 100644 TaskMVC/Areas/Admin/Views/Project/Create.cshtml create mode 100644 TaskMVC/Areas/Admin/Views/Project/Index.cshtml create mode 100644 TaskMVC/Areas/Admin/Views/_ViewStart.cshtml create mode 100644 TaskMVC/Content/Menues.png create mode 100644 TaskMVC/Content/Site2.css create mode 100644 TaskMVC/Content/images/topBg-repeat.png create mode 100644 TaskMVC/Content/images/topRepeat.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-icons_222222_256x240.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-icons_a83300_256x240.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-icons_cccccc_256x240.png create mode 100644 TaskMVC/Content/themes/ui-darkness/images/ui-icons_ffffff_256x240.png create mode 100644 TaskMVC/Content/themes/ui-darkness/jquery-ui-1.8.8.custom.css create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-icons_222222_256x240.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-icons_228ef1_256x240.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png create mode 100644 TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffffff_256x240.png create mode 100644 TaskMVC/Content/themes/ui-lightness/jquery-ui-1.8.9.custom.css create mode 100644 TaskMVC/EntityListener.cs create mode 100644 TaskMVC/Scripts/MyScripts.js create mode 100644 TaskMVC/Scripts/jquery.scrollTo-min.js diff --git a/TaskDO/DAO/ProjectDAO.cs b/TaskDO/DAO/ProjectDAO.cs new file mode 100644 index 0000000..7e6f8a4 --- /dev/null +++ b/TaskDO/DAO/ProjectDAO.cs @@ -0,0 +1,8 @@ +using TaskDO.Entities; + +namespace TaskDO.DAO +{ + public class ProjectDAO : BaseDAO + { + } +} diff --git a/TaskDO/Entities/Entity.cs b/TaskDO/Entities/Entity.cs index ab5abce..d0cae02 100644 --- a/TaskDO/Entities/Entity.cs +++ b/TaskDO/Entities/Entity.cs @@ -28,7 +28,7 @@ public abstract class Entity public virtual DateTime? CreatedAt { get; set; } public virtual string CreatedBy { get; set; } - public virtual DateTime UpdatedAt { get; set; } + public virtual DateTime? UpdatedAt { get; set; } public virtual string UpdatedBy { get; set; } } } \ No newline at end of file diff --git a/TaskDO/Entities/TimeStampEventListener.cs b/TaskDO/Entities/TimeStampEventListener.cs deleted file mode 100644 index 6b5cdf9..0000000 --- a/TaskDO/Entities/TimeStampEventListener.cs +++ /dev/null @@ -1,67 +0,0 @@ -using System; -using System.Security.Principal; -using NHibernate.Event; -using NHibernate.Persister.Entity; - -namespace TaskDO.Entities -{ - public class TimeStampEventListener : IPreUpdateEventListener, IPreInsertEventListener - { - #region IPreInsertEventListener Members - - public bool OnPreInsert(PreInsertEvent @event) - { - var entity = @event.Entity as Entity; - if (entity == null) - return false; - - - DateTime time = DateTime.Now; - string name = WindowsIdentity.GetCurrent().Name; - - Set(@event.Persister, @event.State, "CreatedAt", time); - Set(@event.Persister, @event.State, "UpdatedAt", time); - Set(@event.Persister, @event.State, "CreatedBy", name); - Set(@event.Persister, @event.State, "UpdatedBy", name); - - entity.CreatedAt = time; - entity.CreatedBy = name; - entity.UpdatedAt = time; - entity.UpdatedBy = name; - - return false; - } - - #endregion - - #region IPreUpdateEventListener Members - - public bool OnPreUpdate(PreUpdateEvent @event) - { - var entity = @event.Entity as Entity; - if (entity == null) - return false; - - DateTime time = DateTime.Now; - string name = WindowsIdentity.GetCurrent().Name; - - Set(@event.Persister, @event.State, "UpdatedAt", time); - Set(@event.Persister, @event.State, "UpdatedBy", name); - - entity.UpdatedAt = time; - entity.UpdatedBy = name; - - return false; - } - - #endregion - - private void Set(IEntityPersister persister, object[] state, string propertyName, object value) - { - int index = Array.IndexOf(persister.PropertyNames, propertyName); - if (index == -1) - return; - state[index] = value; - } - } -} \ No newline at end of file diff --git a/TaskDO/Mapping/EntityMap.cs b/TaskDO/Mapping/EntityMap.cs index 264288e..ae2733c 100644 --- a/TaskDO/Mapping/EntityMap.cs +++ b/TaskDO/Mapping/EntityMap.cs @@ -7,17 +7,15 @@ public abstract class EntityMap : ClassMap where T : Entity { public EntityMap() { - //Id(x => x.Id).GeneratedBy.GuidComb().UnsavedValue("00000000-0000-0000-0000-000000000000"); Id(x => x.Id); Version(x => x.Version); Map(x => x.Name).Length(80); Map(x => x.Description).Length(100); - //Map(x => x.Name).Unique("UnKeyiqueKey_TCountry_CName").Length(30); + Map(x => x.CreatedBy).Nullable().Length(50); Map(x => x.CreatedAt).Nullable(); - //.Generated.Insert().CustomSqlType("datetime") - //Map(x => x.UpdatedBy).Nullable().Length(50); - //Map(x => x.UpdatedDate).Nullable().Generated.Insert().CustomSqlType("timestamp"); + Map(x => x.UpdatedBy).Nullable().Length(50); + Map(x => x.UpdatedAt).Nullable(); } } } \ No newline at end of file diff --git a/TaskDO/TaskDO.csproj b/TaskDO/TaskDO.csproj index ee1dc75..c71de8f 100644 --- a/TaskDO/TaskDO.csproj +++ b/TaskDO/TaskDO.csproj @@ -48,6 +48,7 @@ + @@ -56,7 +57,6 @@ - diff --git a/TaskMVC/Areas/Admin/AdminAreaRegistration.cs b/TaskMVC/Areas/Admin/AdminAreaRegistration.cs index 152f274..aae45f4 100644 --- a/TaskMVC/Areas/Admin/AdminAreaRegistration.cs +++ b/TaskMVC/Areas/Admin/AdminAreaRegistration.cs @@ -17,7 +17,7 @@ public override void RegisterArea(AreaRegistrationContext context) context.MapRoute( "Admin_default", "Admin/{controller}/{action}/{id}", - new { action = "Index", id = UrlParameter.Optional } + new { controller = "Project", action = "Index", id = UrlParameter.Optional } ); } } diff --git a/TaskMVC/Areas/Admin/Controllers/ProjectController.cs b/TaskMVC/Areas/Admin/Controllers/ProjectController.cs new file mode 100644 index 0000000..27d3227 --- /dev/null +++ b/TaskMVC/Areas/Admin/Controllers/ProjectController.cs @@ -0,0 +1,122 @@ +using System; +using System.Collections.Generic; +using System.Web.Mvc; +using NHibernate; +using TaskDO.DAO; +using TaskDO.Entities; +using TaskMVC.Areas.Admin.Models; +using log4net; + +namespace TaskMVC.Areas.Admin.Controllers +{ + public class ProjectController : Controller + { + private static readonly ILog Log = LogManager.GetLogger(typeof(ProjectController)); + private readonly ISession _session = MvcApplication.SessionFactory.GetCurrentSession(); + private readonly ProjectDAO _projectDAO = new ProjectDAO(); + public ProjectModel Model = new ProjectModel(); + + public ProjectController() + { + Model.AllProjects = _projectDAO.GetAll(_session); + } + + // + // GET: /Admin/Project/ + + public ActionResult Index() + { + return View(Model); + } + + // + // GET: /Admin/Project/Details/5 + + public ActionResult Details(int id) + { + + return View(Model.SelectedProject); + } + + // + // GET: /Admin/Project/Create + + public ActionResult Create() + { + Model.SelectedProject = new Project(); + return View(Model); + } + + // + // POST: /Admin/Project/Create + + [HttpPost] + public ActionResult Create(ProjectModel model) + { + try + { + _projectDAO.SaveOrUpdate(_session, model.SelectedProject); + + return RedirectToAction("Index"); + } + catch (Exception exception) + { + Log.Error(exception.Message, exception); + ViewBag.Message = exception.Message; + return View(model); + } + } + + // + // GET: /Admin/Project/Edit/5 + + public ActionResult Edit(int id) + { + return View(); + } + + // + // POST: /Admin/Project/Edit/5 + + [HttpPost] + public ActionResult Edit(int id, FormCollection collection) + { + try + { + // TODO: Add update logic here + + return RedirectToAction("Index"); + } + catch + { + return View(); + } + } + + // + // GET: /Admin/Project/Delete/5 + + public ActionResult Delete(int id) + { + return View(); + } + + // + // POST: /Admin/Project/Delete/5 + + [HttpPost] + public ActionResult Delete(int id, FormCollection collection) + { + try + { + // TODO: Add delete logic here + + return RedirectToAction("Index"); + } + catch + { + return View(); + } + } + } +} diff --git a/TaskMVC/Areas/Admin/Controllers/ProjectTaskController.cs b/TaskMVC/Areas/Admin/Controllers/ProjectTaskController.cs deleted file mode 100644 index fdf0148..0000000 --- a/TaskMVC/Areas/Admin/Controllers/ProjectTaskController.cs +++ /dev/null @@ -1,20 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using System.Web.Mvc; - -namespace TaskMVC.Areas.Admin.Controllers -{ - public class ProjectTaskController : Controller - { - // - // GET: /Admin/ProjectTask/ - - public ActionResult Index() - { - return View(); - } - - } -} diff --git a/TaskMVC/Areas/Admin/Models/AdminModel.cs b/TaskMVC/Areas/Admin/Models/AdminModel.cs new file mode 100644 index 0000000..a337ca6 --- /dev/null +++ b/TaskMVC/Areas/Admin/Models/AdminModel.cs @@ -0,0 +1,19 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using TaskDO.Entities; + +namespace TaskMVC.Areas.Admin.Models +{ + public class ProjectModel + { + public IEnumerable AllProjects { get; set; } + public Project SelectedProject { get; set; } + } + + public class TaskModel + { + + } +} \ No newline at end of file diff --git a/TaskMVC/Areas/Admin/Views/Project/Create.cshtml b/TaskMVC/Areas/Admin/Views/Project/Create.cshtml new file mode 100644 index 0000000..2c69cf9 --- /dev/null +++ b/TaskMVC/Areas/Admin/Views/Project/Create.cshtml @@ -0,0 +1,30 @@ +@model TaskMVC.Areas.Admin.Models.ProjectModel +@{ + ViewBag.Title = "Create project"; +} +

Create project

+ + +@using (Html.BeginForm()) +{ + @Html.ValidationSummary(true) + @ViewBag.Message +
Project +
+ @Html.LabelFor(model => model.SelectedProject.Name) +
+
+ @Html.EditorFor(model => model.SelectedProject.Name) +
+
+ @Html.LabelFor(model => model.SelectedProject.Description) +
+
+ @Html.EditorFor(model => model.SelectedProject.Description) +
+

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

+
+} \ No newline at end of file diff --git a/TaskMVC/Areas/Admin/Views/Project/Index.cshtml b/TaskMVC/Areas/Admin/Views/Project/Index.cshtml new file mode 100644 index 0000000..4159fed --- /dev/null +++ b/TaskMVC/Areas/Admin/Views/Project/Index.cshtml @@ -0,0 +1,34 @@ +@using TaskMVC.Areas.Admin.Models +@model ProjectModel +@{ + ViewBag.Title = "Projects"; + var grid = new WebGrid(Model.AllProjects, defaultSort: "Name"); +} +

Projects

+

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

+@grid.GetHtml( + columns: grid.Columns( + grid.Column(header: "", format: (item) => new HtmlString( + Html.ActionLink("Edit", "Edit", new { id = item.id }).ToString() + " | " + + Html.ActionLink("Delete", "Delete", new { id = item.id }).ToString()) + ), + grid.Column(columnName: "Name"), + grid.Column(columnName: "Description"), + grid.Column(columnName: "CreatedAt", header: "Created"), + grid.Column(columnName: "CreatedBy", header: "Created"), + grid.Column(columnName: "UpdatedAt", header: "Updated"), + grid.Column(columnName: "UpdatedBy", header: "Created") + ) +) +@*@grid.GetHtml( + columns: grid.Columns( + grid.Column(header: "", format: (item) => new HtmlString( + Html.ActionLink("Edit", "Edit", new { id = item.id }).ToString() + " | " + + Html.ActionLink("Delete", "Delete", new { id = item.id }).ToString()) + ), + grid.Column(columnName: "Name", header: "Node"), + grid.Column(columnName: "ElementType", header: "Type"), //, format: EnumExtra.GetEnumDescription(@item)), + grid.Column(columnName: "Description") + ))*@ \ No newline at end of file diff --git a/TaskMVC/Areas/Admin/Views/_ViewStart.cshtml b/TaskMVC/Areas/Admin/Views/_ViewStart.cshtml new file mode 100644 index 0000000..efda124 --- /dev/null +++ b/TaskMVC/Areas/Admin/Views/_ViewStart.cshtml @@ -0,0 +1,3 @@ +@{ + Layout = "~/Views/Shared/_Layout.cshtml"; +} \ No newline at end of file diff --git a/TaskMVC/Content/Menues.png b/TaskMVC/Content/Menues.png new file mode 100644 index 0000000000000000000000000000000000000000..b80982719150caf09d11122cb8d1a9f8513dcbdf GIT binary patch literal 3579 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 D?*n9V literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/images/topRepeat.png b/TaskMVC/Content/images/topRepeat.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a9ac7c5cffdffef24c2c017eaca9e5fcdcd704 GIT binary patch literal 319 zcmV-F0l@x=P)=m_Fw?C^yTaBSpYN40001HNklZsl(dg{Q#miV2jd3v6#>ps+y|FO{V{2TEr_mdUF&ULH8V~yjFaR<)!q+|F R4mkh-002ovPDHLkV1h*ds2KnN literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..5473afffbc2662173f5af5c27d966c072de8039b GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7#`Ta z<$H)q$%zYm;;c7~Kd+Iuj%U9o62cnl7#bi-T}u42J&U%yNJ})(84RATelF{r5}E*| CoG&2& literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..5950a8db9e64e8d00bb28726cb869947abfdc7fc GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FscKIb$B>N1x91EQ4=4yQ7&<)v zy**H+ z`**vX!*n&P7dc50adyfl&Nwm{9INpTEp=t_C|dt|%9X7Z^~WTNlbGI|=7;M1& literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..35ec0d9d290646cc4e487ad973dde7e979829d00 GIT binary patch literal 131 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnouq`W*`978O6-=5zn*kB-V#9{8A z5YLNW97J7a98qL7IHPXurDyRjc|Mbg@8{^ExfYyF9&D2iMXXNan#^1HV2J>C;u_aS d;^%;}$C#b3amU=xZ39`u;OXk;vd$@?2>__OD+K@m literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png new file mode 100644 index 0000000000000000000000000000000000000000..b1b03b677165b6628a426bd69f5677f125ecc43c GIT binary patch literal 1874 zcmb`IYfzI{8pmJ2>grV17G0@K0tCwr|_L4FG`cX~&a)0{{Wbe*M`mHv8AS(OX;q*z!_Z@>{1%MGiyu zR|xbXaPnOIdD+Ux{R6(br<1qK{_>6OVJiyw2cO!f{+2bo_c6Uf@ak*A-gUS0ya}i{ z;V|n10Kl4N15Q?43I?7#{{I#OKX|+gVL-*#_gjMA40sU-?0os>#q4m5zYlyNaNy0i zw^Rg@n2PM1EYnI!r8-ve`DR?E&r)g^!dw?^1cUDl{jIC0LqtYJ2-{< z^zg_cP8X>+p|zOkQCSM#xGKcaAOiy-SU^Z1WD^&VjsjU9nusJEZ09-SzK7LC5*abv z3bV0}9Jo{3#yNAHDALv}?}};!m&BKh#+>m@(WkDJjK<89uTGHg@D-UX>-ETjTK)~$ zOr)}HQ5Q=cqfulXw=zX=4D4-ulurld1T(#Bl#sa@S5 zp`alO&km=OxtEWjt&`%U^>H+i7?)HTR1x^ff5x*RW+|o>hxeK_Kj$^Ig8CR zEqR6U6p+fT895w+wE0LvO;>FXYFOy(XDztA-TA3z$n$NTg#FEvs-1liN z_Nd1G7J&@g9g}bvL8^2_2}WvrG*#cC7wK731W2GBz+jOT^+0{`PNdB!ES|*3C0zQ5 zaN3awY3wD=vgoBTW8JhS)k9-u6((jG8W5J=IvOi0csINJs#yO7^pr@JOg^2@yWSr$ z9H89a;5ALfT5P*q-ysOn-(zrTNv~mw&fses8XC-rM*OQ4w5MNgP4KJ~Bd(HLy{%0; z7gd#cTlMZ*$k+Sqt!4!>k+M1O!(%Np{^9g<`lR~Fc_pDPM+vVC=QPeD`(JRRC~er2 zCi|jkNQ@4;LqAmPTU#w?hmZF1R-aHl=em*uW2JB!U9hT&`^2=uJOOET@j`Ok0#d6 z#(L6k=6ErD*U;XUposM4a^d3L zp-T^hYj>Xmwtaag;LpHTG_dVQw4W-o!G86VCAjbROZ*&Db`T>1l~(J<&d;6s33{d9 z`^k6n9Y1mYo9(hMp0$+wN`M2(jWR#7`wh+LARzCn4N56D%KVR4-u*2}bB{fPi=Paw z6gk|PBCK5=Be17ZBA!UgCS^bmQTXUH0T|@vR`&$2%0`k{CKz4&U2QEYpeHEbxx1yMjh$T zgH4%u$59+kAz#93N7_0O1=Cc<4+g{{!VmvO`@jXnG--~=JzU@`t0Wk2^`7?Wk*WGc5TVydoVC|KVrIzB za*zX6duE2%bCs^gjG+nlgyq-B7Rgi2dP)%$N`p>Fzv0(c&);tlsH5~@w3Wa6?;|Hv zNsmEwPY{wtt{bi6qxNY>L|gaRm?0CRoQUiZ%h) zq(G*nxm^ELo_SHJGxFKNZ)BmA%i(Z}p9hp_yZ~Eg@0lwdJ2rk#AT1>$`NrEH|L$Kk CqOPR? literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..e56eefd612ae74339bd45ae91ddfc2ae2eb7092b GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l$xiDV~E7mQ98UlM literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..3525eb9ff4c26d2c74003e7e2fdf09cccf7c9d54 GIT binary patch literal 98 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%}VPV~E7mvV v4~LtZ8=D#sywNe@G+8Wgr}4YKCJTdvGLyysE7#8hH8FU)`njxgN@xNASlk-& literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..2b6a9f92408ede5e967497f0c917d99e06a2e7f8 GIT binary patch literal 117 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l#Qp0V~E7myZwe-3<^BV`X67{ z-Q39+s_r<4W%}b;6Bcgql6WBPGHXN18AjIAtjA9+sZ48Zd&-pi=Idqi7tQ7DO<7N; RDFDr3@O1TaS?83{1OO`oCW`<7 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-icons_222222_256x240.png b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b273ff111d219c9b9a8b96d57683d0075fb7871a GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..3bdb67be8f85c00d44940330a9a8cb07a73e83a4 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-icons_a83300_256x240.png b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_a83300_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..020371ba1cf2d3a09800cf507cf73787758b5167 GIT binary patch literal 5355 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 oBo%DI*Kv;w;*%(i9W@e`=?odH?_b literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-icons_ffffff_256x240.png b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..42f8f992c727ddaa617da224a522e463df690387 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-darkness/jquery-ui-1.8.8.custom.css b/TaskMVC/Content/themes/ui-darkness/jquery-ui-1.8.8.custom.css new file mode 100644 index 0000000..05fdfff --- /dev/null +++ b/TaskMVC/Content/themes/ui-darkness/jquery-ui-1.8.8.custom.css @@ -0,0 +1,1396 @@ +/* + * jQuery UI CSS Framework 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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%; +} + + +/* + * jQuery UI CSS Framework 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Segoe%20UI,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=333333&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=25&borderColorHeader=333333&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=000000&bgTextureContent=05_inset_soft.png&bgImgOpacityContent=25&borderColorContent=666666&fcContent=ffffff&iconColorContent=cccccc&bgColorDefault=555555&bgTextureDefault=02_glass.png&bgImgOpacityDefault=20&borderColorDefault=666666&fcDefault=eeeeee&iconColorDefault=cccccc&bgColorHover=0078a3&bgTextureHover=02_glass.png&bgImgOpacityHover=40&borderColorHover=59b4d4&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=f58400&bgTextureActive=05_inset_soft.png&bgImgOpacityActive=30&borderColorActive=ffaf0f&fcActive=ffffff&iconColorActive=222222&bgColorHighlight=eeeeee&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=80&borderColorHighlight=cccccc&fcHighlight=2e7db2&iconColorHighlight=4b8e0b&bgColorError=ffc73d&bgTextureError=02_glass.png&bgImgOpacityError=40&borderColorError=ffb73d&fcError=111111&iconColorError=a83300&bgColorOverlay=5c5c5c&bgTextureOverlay=01_flat.png&bgImgOpacityOverlay=50&opacityOverlay=80&bgColorShadow=cccccc&bgTextureShadow=01_flat.png&bgImgOpacityShadow=30&opacityShadow=60&thicknessShadow=7px&offsetTopShadow=-7px&offsetLeftShadow=-7px&cornerRadiusShadow=8px + */ + + +/* Component containers +----------------------------------*/ + +.ui-widget { + font-family: Segoe UI, Arial, sans-serif; + font-size: 1.1em; +} + +.ui-widget .ui-widget { font-size: 1em; } + +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { + font-family: Segoe UI, Arial, sans-serif; + font-size: 1em; +} + +.ui-widget-content { + border: 1px solid #666666; + background: #000000 url(images/ui-bg_inset-soft_25_000000_1x100.png) 50% bottom repeat-x; + color: #ffffff; +} + +.ui-widget-content a { color: #ffffff; } + +.ui-widget-header { + border: 1px solid #333333; + background: #333333 url(images/ui-bg_gloss-wave_25_333333_500x100.png) 50% 50% repeat-x; + color: #ffffff; + font-weight: bold; +} + +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ + +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + border: 1px solid #666666; + background: #555555 url(images/ui-bg_glass_20_555555_1x400.png) 50% 50% repeat-x; + font-weight: bold; + color: #eeeeee; +} + +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { + color: #eeeeee; + 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 #59b4d4; + background: #0078a3 url(images/ui-bg_glass_40_0078a3_1x400.png) 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} + +.ui-state-hover a, .ui-state-hover a:hover { + color: #ffffff; + text-decoration: none; +} + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { + border: 1px solid #ffaf0f; + background: #f58400 url(images/ui-bg_inset-soft_30_f58400_1x100.png) 50% 50% repeat-x; + font-weight: bold; + color: #ffffff; +} + +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { + color: #ffffff; + 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 #cccccc; + background: #eeeeee url(images/ui-bg_highlight-soft_80_eeeeee_1x100.png) 50% top repeat-x; + color: #2e7db2; +} + +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { color: #2e7db2; } + +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { + border: 1px solid #ffb73d; + background: #ffc73d url(images/ui-bg_glass_40_ffc73d_1x400.png) 50% 50% repeat-x; + color: #111111; +} + +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #111111; } + +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #111111; } + +.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_cccccc_256x240.png); +} + +.ui-widget-content .ui-icon { background-image: url(images/ui-icons_cccccc_256x240.png); } + +.ui-widget-header .ui-icon { background-image: url(images/ui-icons_ffffff_256x240.png); } + +.ui-state-default .ui-icon { background-image: url(images/ui-icons_cccccc_256x240.png); } + +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon { background-image: url(images/ui-icons_ffffff_256x240.png); } + +.ui-state-active .ui-icon { background-image: url(images/ui-icons_222222_256x240.png); } + +.ui-state-highlight .ui-icon { background-image: url(images/ui-icons_4b8e0b_256x240.png); } + +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background-image: url(images/ui-icons_a83300_256x240.png); } + +/* 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: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; +} + +.ui-corner-tr { + -moz-border-radius-topright: 6px; + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; +} + +.ui-corner-bl { + -moz-border-radius-bottomleft: 6px; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.ui-corner-br { + -moz-border-radius-bottomright: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.ui-corner-top { + -moz-border-radius-topleft: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-topright: 6px; + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; +} + +.ui-corner-bottom { + -moz-border-radius-bottomleft: 6px; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; + -moz-border-radius-bottomright: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.ui-corner-right { + -moz-border-radius-topright: 6px; + -webkit-border-top-right-radius: 6px; + border-top-right-radius: 6px; + -moz-border-radius-bottomright: 6px; + -webkit-border-bottom-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.ui-corner-left { + -moz-border-radius-topleft: 6px; + -webkit-border-top-left-radius: 6px; + border-top-left-radius: 6px; + -moz-border-radius-bottomleft: 6px; + -webkit-border-bottom-left-radius: 6px; + border-bottom-left-radius: 6px; +} + +.ui-corner-all { + -moz-border-radius: 6px; + -webkit-border-radius: 6px; + border-radius: 6px; +} + +/* Overlays */ + +.ui-widget-overlay { + background: #5c5c5c url(images/ui-bg_flat_50_5c5c5c_40x100.png) 50% 50% repeat-x; + opacity: .80; + filter: Alpha(Opacity=80); +} + +.ui-widget-shadow { + margin: -7px 0 0 -7px; + padding: 7px; + background: #cccccc url(images/ui-bg_flat_30_cccccc_40x100.png) 50% 50% repeat-x; + opacity: .60; + filter: Alpha(Opacity=60); + -moz-border-radius: 8px; + -webkit-border-radius: 8px; + border-radius: 8px; +}/* + * jQuery UI Resizable 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; +}/* + * jQuery UI Selectable 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ + +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +/* + * jQuery UI Accordion 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; }/* + * jQuery UI Autocomplete 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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 */ + +/* + * jQuery UI Menu 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; +} +/* + * jQuery UI Button 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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 */ +/* + * jQuery UI Dialog 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; } +/* + * jQuery UI Slider 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ + +.ui-slider { + position: relative; + text-align: left; +} + +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} + +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +.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; }/* + * jQuery UI Tabs 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; } +/* + * jQuery UI Datepicker 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ + +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} + +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} + +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} + +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } + +.ui-datepicker .ui-datepicker-prev { left: 2px; } + +.ui-datepicker .ui-datepicker-next { right: 2px; } + +.ui-datepicker .ui-datepicker-prev-hover { left: 1px; } + +.ui-datepicker .ui-datepicker-next-hover { right: 1px; } + +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} + +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} + +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} + +.ui-datepicker select.ui-datepicker-month-year { width: 100%; } + +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%; } + +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} + +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} + +.ui-datepicker td { + border: 0; + padding: 1px; +} + +.ui-datepicker td span, .ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} + +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} + +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} + +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float: left; } + +/* with multiple calendars */ + +.ui-datepicker.ui-datepicker-multi { width: auto; } + +.ui-datepicker-multi .ui-datepicker-group { float: left; } + +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} + +.ui-datepicker-multi-2 .ui-datepicker-group { width: 50%; } + +.ui-datepicker-multi-3 .ui-datepicker-group { width: 33.3%; } + +.ui-datepicker-multi-4 .ui-datepicker-group { width: 25%; } + +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { 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*/ +}/* + * jQuery UI Progressbar 1.8.8 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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/TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..954e22dbd99e8c6dd7091335599abf2d10bf8003 GIT binary patch literal 260 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEr#)R9Ln2z=UU%d=WFXS=@V?HT z#xG*`>Yvsgk=}99w^d^D^d*@m74oMo<%#FcopJf?u00-~YVKV2wzrI*_R6;UORMea zBFVSEnN~eiVA6V&z`E)YLz5Aok^D)In}Yn=OzDpgR5Wv0XfT8pOkmV{sKAJ-PO9#T zZK}IXj&Q-V!U)!LcB_3K0&C*{ literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png new file mode 100644 index 0000000000000000000000000000000000000000..64ece5707d91a6edf9fad4bfcce0c4dbcafcf58d GIT binary patch literal 251 zcmVbvPcjKS|RKP(6sDcCAB(_QB%0978a<$Ah$!b|E zwn;|HO0i8cQj@~)s!ajF0S002ovPDHLkV1oEp BYH0uf literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png new file mode 100644 index 0000000000000000000000000000000000000000..abdc01082bf3534eafecc5819d28c9574d44ea89 GIT binary patch literal 178 zcmeAS@N?(olHy`uVBq!ia0vp^8bF-F!3HG1q!d*FsY*{5$B>N1x91EQ4=4yQY-ImG zFPf9b{J;c_6SHRK%WcbN_hZpM=(Ry;4Rxv2@@2Y=$K57eF$X$=!PC{xWt~$(69B)$ BI)4BF literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png new file mode 100644 index 0000000000000000000000000000000000000000..9b383f4d2eab09c0f2a739d6b232c32934bc620b GIT binary patch literal 104 zcmeAS@N?(olHy`uVBq!ia0vp^j6gJjgAK^akKnour1U*q978O6-yYw{%b*}|_(02F z@qbE9)0CJMo;*v*PWv`Vh2h6EmG8IS-Cm{3U~` zFlmZ}YMcJY=eo?o%*@I?2`NblNeMudl#t?{+tN>ySr~=F{k$>;_x^_y?afmf9pRKH0)6?eSP?3s5hEr>mdKI;Vst E0O;M1& literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png new file mode 100644 index 0000000000000000000000000000000000000000..39d5824d6af5456f1e89fc7847ea3599ea5fd815 GIT binary patch literal 3762 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 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png new file mode 100644 index 0000000000000000000000000000000000000000..f1273672d253263b7564e9e21d69d7d9d0b337d9 GIT binary patch literal 90 zcmeAS@N?(olHy`uVBq!ia0vp^j6j^i!3HGVb)pi0l%l7LV~E7mxPQ=F85a&M@g_{ d|GeK{$Y5lo%PMu^>wln`44$rjF6*2UngE4^EGqy2 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-icons_222222_256x240.png b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_222222_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..b273ff111d219c9b9a8b96d57683d0075fb7871a GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-icons_228ef1_256x240.png b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_228ef1_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..a641a371afa0fbb08ba599dc7ddf14b9bfc3c84f GIT binary patch literal 4369 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 oBo%DI*Kv;w;*%(i9W@e{{5C=l}o! literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..85e63e9f604ce042d59eb06a8428eeb7cb7896c9 GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png new file mode 100644 index 0000000000000000000000000000000000000000..e117effa3dca24e7978cfc5f8b967f661e81044f GIT binary patch literal 4369 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 literal 0 HcmV?d00001 diff --git a/TaskMVC/Content/themes/ui-lightness/jquery-ui-1.8.9.custom.css b/TaskMVC/Content/themes/ui-lightness/jquery-ui-1.8.9.custom.css new file mode 100644 index 0000000..daef815 --- /dev/null +++ b/TaskMVC/Content/themes/ui-lightness/jquery-ui-1.8.9.custom.css @@ -0,0 +1,1397 @@ +/* + * jQuery UI CSS Framework 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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%; +} + + +/* + * jQuery UI CSS Framework 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Theming/API + * + * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS,%20Tahoma,%20Verdana,%20Arial,%20sans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=12_gloss_wave.png&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=03_highlight_soft.png&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=02_glass.png&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=02_glass.png&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=02_glass.png&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=03_highlight_soft.png&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=08_diagonals_thick.png&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=08_diagonals_thick.png&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=01_flat.png&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px + */ + + +/* Component containers +----------------------------------*/ + +.ui-widget { + font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; + font-size: 1.1em; +} + +.ui-widget .ui-widget { font-size: 1em; } + +.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button { + font-family: Trebuchet MS, Tahoma, Verdana, Arial, sans-serif; + font-size: 1em; +} + +.ui-widget-content { + border: 1px solid #dddddd; + background: #eeeeee url(images/ui-bg_highlight-soft_100_eeeeee_1x100.png) 50% top repeat-x; + color: #333333; +} + +.ui-widget-content a { color: #333333; } + +.ui-widget-header { + border: 1px solid #e78f08; + background: #f6a828 url(images/ui-bg_gloss-wave_35_f6a828_500x100.png) 50% 50% repeat-x; + color: #ffffff; + font-weight: bold; +} + +.ui-widget-header a { color: #ffffff; } + +/* Interaction states +----------------------------------*/ + +.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { + border: 1px solid #cccccc; + background: #f6f6f6 url(images/ui-bg_glass_100_f6f6f6_1x400.png) 50% 50% repeat-x; + font-weight: bold; + color: #1c94c4; +} + +.ui-state-default a, .ui-state-default a:link, .ui-state-default a:visited { + color: #1c94c4; + 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 #fbcb09; + background: #fdf5ce url(images/ui-bg_glass_100_fdf5ce_1x400.png) 50% 50% repeat-x; + font-weight: bold; + color: #c77405; +} + +.ui-state-hover a, .ui-state-hover a:hover { + color: #c77405; + text-decoration: none; +} + +.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active { + border: 1px solid #fbd850; + background: #ffffff url(images/ui-bg_glass_65_ffffff_1x400.png) 50% 50% repeat-x; + font-weight: bold; + color: #eb8f00; +} + +.ui-state-active a, .ui-state-active a:link, .ui-state-active a:visited { + color: #eb8f00; + 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 #fed22f; + background: #ffe45c url(images/ui-bg_highlight-soft_75_ffe45c_1x100.png) 50% top repeat-x; + color: #363636; +} + +.ui-state-highlight a, .ui-widget-content .ui-state-highlight a, .ui-widget-header .ui-state-highlight a { color: #363636; } + +.ui-state-error, .ui-widget-content .ui-state-error, .ui-widget-header .ui-state-error { + border: 1px solid #cd0a0a; + background: #b81900 url(images/ui-bg_diagonals-thick_18_b81900_40x40.png) 50% 50% repeat; + color: #ffffff; +} + +.ui-state-error a, .ui-widget-content .ui-state-error a, .ui-widget-header .ui-state-error a { color: #ffffff; } + +.ui-state-error-text, .ui-widget-content .ui-state-error-text, .ui-widget-header .ui-state-error-text { color: #ffffff; } + +.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); +} + +.ui-widget-content .ui-icon { background-image: url(images/ui-icons_222222_256x240.png); } + +.ui-widget-header .ui-icon { background-image: url(images/ui-icons_ffffff_256x240.png); } + +.ui-state-default .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } + +.ui-state-hover .ui-icon, .ui-state-focus .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } + +.ui-state-active .ui-icon { background-image: url(images/ui-icons_ef8c08_256x240.png); } + +.ui-state-highlight .ui-icon { background-image: url(images/ui-icons_228ef1_256x240.png); } + +.ui-state-error .ui-icon, .ui-state-error-text .ui-icon { background-image: url(images/ui-icons_ffd27a_256x240.png); } + +/* 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; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; +} + +.ui-corner-tr { + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; +} + +.ui-corner-bl { + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.ui-corner-br { + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.ui-corner-top { + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; +} + +.ui-corner-bottom { + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.ui-corner-right { + -moz-border-radius-topright: 4px; + -webkit-border-top-right-radius: 4px; + border-top-right-radius: 4px; + -moz-border-radius-bottomright: 4px; + -webkit-border-bottom-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.ui-corner-left { + -moz-border-radius-topleft: 4px; + -webkit-border-top-left-radius: 4px; + border-top-left-radius: 4px; + -moz-border-radius-bottomleft: 4px; + -webkit-border-bottom-left-radius: 4px; + border-bottom-left-radius: 4px; +} + +.ui-corner-all { + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; +} + +/* Overlays */ + +.ui-widget-overlay { + background: #666666 url(images/ui-bg_diagonals-thick_20_666666_40x40.png) 50% 50% repeat; + opacity: .50; + filter: Alpha(Opacity=50); +} + +.ui-widget-shadow { + margin: -5px 0 0 -5px; + padding: 5px; + background: #000000 url(images/ui-bg_flat_10_000000_40x100.png) 50% 50% repeat-x; + opacity: .20; + filter: Alpha(Opacity=20); + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + border-radius: 5px; +}/* + * jQuery UI Resizable 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; +}/* + * jQuery UI Selectable 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Selectable#theming + */ + +.ui-selectable-helper { + position: absolute; + z-index: 100; + border: 1px dotted black; +} +/* + * jQuery UI Accordion 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; } +/* + * jQuery UI Autocomplete 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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 */ + +/* + * jQuery UI Menu 1.8.9 + * + * Copyright 2010, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; +} +/* + * jQuery UI Button 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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 */ +/* + * jQuery UI Dialog 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; } +/* + * jQuery UI Slider 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Slider#theming + */ + +.ui-slider { + position: relative; + text-align: left; +} + +.ui-slider .ui-slider-handle { + position: absolute; + z-index: 2; + width: 1.2em; + height: 1.2em; + cursor: default; +} + +.ui-slider .ui-slider-range { + position: absolute; + z-index: 1; + font-size: .7em; + display: block; + border: 0; + background-position: 0 0; +} + +.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; }/* + * jQuery UI Tabs 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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; } +/* + * jQuery UI Datepicker 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Datepicker#theming + */ + +.ui-datepicker { + width: 17em; + padding: .2em .2em 0; + display: none; +} + +.ui-datepicker .ui-datepicker-header { + position: relative; + padding: .2em 0; +} + +.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next { + position: absolute; + top: 2px; + width: 1.8em; + height: 1.8em; +} + +.ui-datepicker .ui-datepicker-prev-hover, .ui-datepicker .ui-datepicker-next-hover { top: 1px; } + +.ui-datepicker .ui-datepicker-prev { left: 2px; } + +.ui-datepicker .ui-datepicker-next { right: 2px; } + +.ui-datepicker .ui-datepicker-prev-hover { left: 1px; } + +.ui-datepicker .ui-datepicker-next-hover { right: 1px; } + +.ui-datepicker .ui-datepicker-prev span, .ui-datepicker .ui-datepicker-next span { + display: block; + position: absolute; + left: 50%; + margin-left: -8px; + top: 50%; + margin-top: -8px; +} + +.ui-datepicker .ui-datepicker-title { + margin: 0 2.3em; + line-height: 1.8em; + text-align: center; +} + +.ui-datepicker .ui-datepicker-title select { + font-size: 1em; + margin: 1px 0; +} + +.ui-datepicker select.ui-datepicker-month-year { width: 100%; } + +.ui-datepicker select.ui-datepicker-month, +.ui-datepicker select.ui-datepicker-year { width: 49%; } + +.ui-datepicker table { + width: 100%; + font-size: .9em; + border-collapse: collapse; + margin: 0 0 .4em; +} + +.ui-datepicker th { + padding: .7em .3em; + text-align: center; + font-weight: bold; + border: 0; +} + +.ui-datepicker td { + border: 0; + padding: 1px; +} + +.ui-datepicker td span, .ui-datepicker td a { + display: block; + padding: .2em; + text-align: right; + text-decoration: none; +} + +.ui-datepicker .ui-datepicker-buttonpane { + background-image: none; + margin: .7em 0 0 0; + padding: 0 .2em; + border-left: 0; + border-right: 0; + border-bottom: 0; +} + +.ui-datepicker .ui-datepicker-buttonpane button { + float: right; + margin: .5em .2em .4em; + cursor: pointer; + padding: .2em .6em .3em .6em; + width: auto; + overflow: visible; +} + +.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { float: left; } + +/* with multiple calendars */ + +.ui-datepicker.ui-datepicker-multi { width: auto; } + +.ui-datepicker-multi .ui-datepicker-group { float: left; } + +.ui-datepicker-multi .ui-datepicker-group table { + width: 95%; + margin: 0 auto .4em; +} + +.ui-datepicker-multi-2 .ui-datepicker-group { width: 50%; } + +.ui-datepicker-multi-3 .ui-datepicker-group { width: 33.3%; } + +.ui-datepicker-multi-4 .ui-datepicker-group { width: 25%; } + +.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header { 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*/ +}/* + * jQuery UI Progressbar 1.8.9 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * 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/TaskMVC/EntityListener.cs b/TaskMVC/EntityListener.cs new file mode 100644 index 0000000..30a642a --- /dev/null +++ b/TaskMVC/EntityListener.cs @@ -0,0 +1,150 @@ +using System; +using System.Security.Principal; +using System.Web; +using System.Web.Security; +using NHibernate.Event; +using NHibernate.Persister.Entity; +using TaskDO.Entities; + +namespace TaskMVC +{ + public class EntityListener : IPreUpdateEventListener, IPreInsertEventListener + //, IPostUpdateEventListener//, IPostDeleteEventListener, IPostInsertEventListener + { + #region IPreInsertEventListener Members + + public bool OnPreInsert(PreInsertEvent @event) + { + var entity = @event.Entity as Entity; + if (entity == null) + return false; + + + DateTime time = DateTime.Now; + string name = GetUserId(); + + Set(@event.Persister, @event.State, "CreatedAt", time); + //Set(@event.Persister, @event.State, "UpdatedAt", null); + Set(@event.Persister, @event.State, "CreatedBy", name); + //Set(@event.Persister, @event.State, "UpdatedBy", null); + + entity.CreatedAt = time; + entity.CreatedBy = name; + //entity.UpdatedAt = null; + //entity.UpdatedBy = null; + + return false; + } + + #endregion + + #region IPreUpdateEventListener Members + + public bool OnPreUpdate(PreUpdateEvent @event) + { + var entity = @event.Entity as Entity; + if (entity == null) + return false; + + DateTime time = DateTime.Now; + string name = GetUserId(); + + Set(@event.Persister, @event.State, "UpdatedAt", time); + Set(@event.Persister, @event.State, "UpdatedBy", name); + + entity.UpdatedAt = time; + entity.UpdatedBy = name; + + return false; + } + + #endregion + + private void Set(IEntityPersister persister, object[] state, string propertyName, object value) + { + int index = Array.IndexOf(persister.PropertyNames, propertyName); + if (index == -1) + return; + state[index] = value; + } + + private string GetUserId() + { + if (HttpContext.Current.User != null) + { + // see if this user is authenticated, any authenticated cookie (ticket) exists for this user + + if (HttpContext.Current.User.Identity.IsAuthenticated) + { + // see if the authentication is done using FormsAuthentication + if (HttpContext.Current.User.Identity is FormsIdentity) + { + var identity = (FormsIdentity)HttpContext.Current.User.Identity; + + return identity.Name; + } + // see if the authentication is done using FormsAuthentication + if (HttpContext.Current.User.Identity is WindowsIdentity) + { + var identity = (WindowsIdentity)HttpContext.Current.User.Identity; + + return identity.Name; + } + } + } + return "unauth"; + } + + //public void OnPostUpdate(PostUpdateEvent @event) + //{ + // FindDirty(@event.Persister, @event.State, @event.OldState, @event.Entity, @event.Session); + //} + + //public void OnPostDelete(PostDeleteEvent @event) + //{ + // FindDirty(@event.Persister, null, null, @event.Entity, @event.Session); + //} + + //public void OnPostInsert(PostInsertEvent @event) + //{ + // FindDirty(@event.Persister, @event.State, null, @event.Entity, @event.Session); + //} + + //private void FindDirty(IEntityPersister persister, object[] state, object[] oldState, object entity, IEventSource session) + //{ + // int[] dirtyFieldIndexes = persister.FindDirty(state, oldState, entity, session); + + // foreach (int dirtyFieldIndex in dirtyFieldIndexes) + // { + // string property = persister.PropertyNames[dirtyFieldIndex]; + // object oldValue = oldState[dirtyFieldIndex]; + // object newValue = state[dirtyFieldIndex]; + + // CreateAuditLogForAction(persister, (Entity)entity, AuditAction.PostUpdate, property, oldValue, newValue); + // } + //} + + //private void CreateAuditLogForAction(IEntityPersister persister, Entity entity, AuditAction action, string property, + // object oldValue, object newValue) + //{ + // if(entity.GetType() != typeof(AuditLog)) + // { + // ISession session = MvcApplication.SessionFactory.GetCurrentSession(); + // var auditDAO = new AuditDAO(); + // AuditLog log = new AuditLog + // { + // EntityType = entity.GetType().ToString(), + // EntityId = entity.Id, + // ActionBy = entity.CreatedBy, + // ActionTimestamp = new DateTime(),//entity.CreatedAt.ToString(), + // Action = action, + // UserIp = "TTTT", + // PropertyName = property, + // OldPropertyValue = oldValue.ToString(), + // NewPropertyValue = newValue.ToString() + // }; + // auditDAO.SaveOrUpdate(session, log); + // } + //} + } +} \ No newline at end of file diff --git a/TaskMVC/Global.asax.cs b/TaskMVC/Global.asax.cs index b23e769..6016018 100644 --- a/TaskMVC/Global.asax.cs +++ b/TaskMVC/Global.asax.cs @@ -7,6 +7,7 @@ using NHibernate; using NHibernate.Cfg; using NHibernate.Context; +using NHibernate.Event; using NHibernate.Tool.hbm2ddl; using TaskDO.Entities; using log4net; @@ -61,16 +62,16 @@ protected void Application_Start() .ShowSql()) .Mappings(m => m.FluentMappings.AddFromAssemblyOf()) .ExposeConfiguration(c => c.SetProperty("current_session_context_class", "web")) - //.ExposeConfiguration(preUp => - //{ - // preUp.EventListeners.PreUpdateEventListeners = - // new IPreUpdateEventListener[] { new EntityListener() }; - //}) - //.ExposeConfiguration(preIn => - //{ - // preIn.EventListeners.PreInsertEventListeners = - // new IPreInsertEventListener[] { new EntityListener() }; - //}) + .ExposeConfiguration(preUp => + { + preUp.EventListeners.PreUpdateEventListeners = + new IPreUpdateEventListener[] { new EntityListener() }; + }) + .ExposeConfiguration(preIn => + { + preIn.EventListeners.PreInsertEventListeners = + new IPreInsertEventListener[] { new EntityListener() }; + }) //.ExposeConfiguration(postUp => //{ // postUp.EventListeners.PostUpdateEventListeners = diff --git a/TaskMVC/Scripts/MyScripts.js b/TaskMVC/Scripts/MyScripts.js new file mode 100644 index 0000000..b291f8e --- /dev/null +++ b/TaskMVC/Scripts/MyScripts.js @@ -0,0 +1,55 @@ +/// +/// + +var menuIconWidth = 20; +var footer = 30; +var header = 75; +var floatingMenu = 60; +var mainPaddingAndMarginTopAndBottom = 30; +var topMargin = null; +var openImage = 'open'; +var closeImage = 'close'; +// floating div id http://localhost:40664/Config/Country/Edit/@Url.Content( +var floatingDiv = "#floatingMenu"; + + +$(document).ready(function () { + // Getting Viewport size and setting + // div#main to fill all (-footer, header and mainPaddingAndMarginTopAndBottom) + // div#floatingMenu to fill all (-footer and header) + var viewportWidth = $(window).width() - floatingMenu; + var viewportHeight = $(window).height() - footer - header; + $("#main").height(viewportHeight - mainPaddingAndMarginTopAndBottom); + $("#main").width(viewportWidth); + $("#floatingMenu").height(viewportHeight); + // Register event to handle any change in size (resize event) + $(window).resize(function () { + var viewportWidth = $(window).width() - floatingMenu; + var viewportHeight = $(window).height() - footer - header; + $("#main").height(viewportHeight); + $("#main").width(viewportWidth - mainPaddingAndMarginTopAndBottom); + $("#floatingMenu").height(viewportHeight); + }); + + + $("#menuImage").html(openImage); + topMargin = parseInt($(floatingDiv).css("top").substring(0, $(floatingDiv).css("top").indexOf("px"))); + $(floatingDiv).css({ left: menuIconWidth - $(floatingDiv).width() }); + // for floating menu + $(floatingDiv).mouseenter(function () { + // show menu + $(this).stop().animate({ left: 0 }, "slow"); + $("#menuImage").html(closeImage); + }).mouseleave(function () { + // hide menu + $(this).stop().animate({ left: menuIconWidth - $(this).width() }, "slow"); + $("#menuImage").html(openImage); + }); + // handle the scroll event of the window. + $(window).scroll(function () { + // calculate the offset of the page scroll and animate the div for the floating effect. + var offset = topMargin + $(document).scrollTop() + "px"; + $(floatingDiv).animate({ top: offset }, { duration: 500, queue: false }); + }); + +}); \ No newline at end of file diff --git a/TaskMVC/Scripts/jquery.scrollTo-min.js b/TaskMVC/Scripts/jquery.scrollTo-min.js new file mode 100644 index 0000000..5e78778 --- /dev/null +++ b/TaskMVC/Scripts/jquery.scrollTo-min.js @@ -0,0 +1,11 @@ +/** + * jQuery.ScrollTo - Easy element scrolling using jQuery. + * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com + * Dual licensed under MIT and GPL. + * Date: 5/25/2009 + * @author Ariel Flesler + * @version 1.4.2 + * + * http://flesler.blogspot.com/2007/10/jqueryscrollto.html + */ +;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery); \ No newline at end of file diff --git a/TaskMVC/TaskMVC.csproj b/TaskMVC/TaskMVC.csproj index a4f433b..b8170ab 100644 --- a/TaskMVC/TaskMVC.csproj +++ b/TaskMVC/TaskMVC.csproj @@ -34,6 +34,9 @@ 4 + + ..\Libs\CdnManagement.dll + ..\Libs\Fluent\FluentNHibernate.dll @@ -74,12 +77,14 @@ - + + + Global.asax @@ -91,7 +96,43 @@ Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Web.config @@ -146,7 +187,6 @@ - @@ -174,6 +214,15 @@ TaskDO + + + + + + + + +