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 0000000..b809827 Binary files /dev/null and b/TaskMVC/Content/Menues.png differ diff --git a/TaskMVC/Content/Site.css b/TaskMVC/Content/Site.css index 6b0a06c..c1fb3e9 100644 --- a/TaskMVC/Content/Site.css +++ b/TaskMVC/Content/Site.css @@ -88,6 +88,42 @@ page width. Or, you can specify an exact pixel width. */ margin-right: auto; } +#header +{ + width: 100%; + background-image: url(../Content/images/topRepeat.png); + height: 75px; + top: 0; + margin: 0; + padding: 0; +} + +#title +{ + position: absolute; + text-align: right; + top: 20px; + right: 15px; +} + + +#main +{ + margin: 10px 20px 10px 25px; + padding: 5px 10px; + background-color: #cccccc; +} + +#footer +{ + padding-top: 5px; + height: 25px; + width: inherit; + text-align: center; + color: #aaaaaa; + background-color: #E5EBEE; +} +/* #header { position: relative; @@ -113,6 +149,7 @@ page width. Or, you can specify an exact pixel width. */ background-color: #fff; margin-bottom: 30px; _height: 1px; /* only IE6 applies CSS properties starting with an underscore */ + /* } #footer @@ -124,6 +161,65 @@ page width. Or, you can specify an exact pixel width. */ margin: 0; font-size: .9em; } +*/ + + +/* Styles for menu +-----------------------------------------------------------*/ + +#floatingMenu +{ + position: absolute; + top: 73px; + padding: 5px 3px; + background-color: #E5EBEE; + /* Black; */ +} + +#floatingMenu a +{ + color: #aaaaaa; + text-decoration: none; +} + + +#menuItems +{ + font-size: 11px; + text-decoration: none; + color: #7B9BAF; + float: left; + width: 120px; + list-style: none; + padding-left: 10px; +} + +#menuItems ul +{ + list-style: none; + padding: 0; + /*display: none;*/ +} + +#menuItems li +{ + cursor: pointer; + padding: 3px; + list-style: none; + font-weight: bold; +} + +#menuItems ul ul li +{ + padding-left: 10px; +} + +#menuImage +{ + float: right; + width: 18px; +} + /* TAB MENU ----------------------------------------------------------*/ diff --git a/TaskMVC/Content/Site2.css b/TaskMVC/Content/Site2.css new file mode 100644 index 0000000..5efbe29 --- /dev/null +++ b/TaskMVC/Content/Site2.css @@ -0,0 +1,428 @@ + +body +{ + /*font-size: 75%; font-family: Sans-Serif, Verdana, Tahoma, Arial, "Helvetica Neue" , Helvetica, Sans-Serif; /* color: #232323; background-color: #fff; * color: Black; background-color: Black; */ + font-family: Sans-Serif, Verdana, Arial; + font-size: 10px; + padding: 0px; + margin: 0px; + background-color: #F2F2F6; +} + +table +{ + border: none; + border-collapse: collapse; +} + +thead +{ + background-color: #000; + color: white; +} + +th +{ + font-size: 11px; + padding: 5px; + text-align: left; +} + +td +{ + padding: 5px; + text-align: left; + font-size: 9px; +} + +textarea +{ + font-family: Sans-Serif, Times New Roman, Verdana; + font-size: 10px; +} + + +#header +{ + width: 100%; + /*background-image: url(../Content/images/topRepeat.png);*/ + background-image: url(../Content/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png); + height: 75px; + top: 0; + margin: 0; + padding: 0; +} + + +#title +{ + position: absolute; + text-align: right; + top: 20px; + right: 15px; +} + +#logindisplay +{ + position: absolute; + text-align: right; + top: 32px; + right: 0px; +} + +#main +{ + margin: 10px 20px 10px 25px; + padding: 5px 10px; +} + +#footer +{ + padding-top: 5px; + height: 25px; + width: inherit; + text-align: center; + color: #aaaaaa; + background-color: #000; +} + + + +.black +{ + color: #000; +} + +/* Styles for menu +-----------------------------------------------------------*/ + +#floatingMenu +{ + position: absolute; + top: 73px; + padding: 5px 3px; + background-color: #000; + /* Black; */ +} + +#floatingMenu a +{ + color: #aaaaaa; + text-decoration: none; +} + + +#menuItems +{ + font-size: 11px; + text-decoration: none; + color: #7B9BAF; + float: left; + width: 120px; + list-style: none; + padding-left: 10px; +} + +#menuItems ul +{ + list-style: none; + padding: 0; + /*display: none;*/ +} + +#menuItems li +{ + cursor: pointer; + padding: 3px; + list-style: none; + font-weight: bold; +} + +#menuItems ul ul li +{ + padding-left: 10px; +} + +#menuImage +{ + float: right; + width: 18px; +} + + + +/* Styles for basic forms +-----------------------------------------------------------*/ + +fieldset +{ + border: 1px solid #ddd; + padding: 0 1.4em 1.4em 1.4em; + margin: 0 0 1.5em 0; +} + +legend +{ + font-size: 1.2em; + font-weight: bold; +} + +textarea +{ + min-height: 75px; +} + +.editor-label +{ + margin: 1em 0 0 0; +} + +.editor-field +{ + margin: 0.5em 0 0 0; +} + +div.editor-field input +{ + width: 250px; +} + + +/* Styles for validation helpers +-----------------------------------------------------------*/ + +.field-validation-error +{ + color: #ff0000; +} + +.field-validation-valid +{ + display: none; +} + +.input-validation-error +{ + border: 1px solid #ff0000; + background-color: #ffeeee; +} + +.validation-summary-errors +{ + font-weight: bold; + color: #ff0000; +} + +.validation-summary-valid +{ + display: none; +} + +/* Link styles +---------------------------------------------------------*/ + +.logolink A:link +{ + font-family: Impact; + font-size: 30px; + text-decoration: none; + color: #A6B9C7; +} + +.logolink A:visited +{ + font-family: Impact; + font-size: 30px; + text-decoration: none; + color: #7B9BAF; + /* #A6B9C7; */ +} + +A:link +{ + font-size: 11px; + text-decoration: none; + font-weight: bold; + color: #7B9BAF; +} + +A:visited +{ + text-decoration: none; + font-size: 11px; + font-weight: bold; + color: #7B9BAF; +} + +A:hover +{ + text-decoration: none; + font-size: 11px; + font-weight: bold; + color: #000; +} + +li .button +{ + text-decoration: none; + color: #FFF; +} + +label .button +{ + text-decoration: none; + color: #FFF; +} + +p .button +{ + text-decoration: none; + color: #FFF; +} + +.button +{ + font-size: 11px; + padding: 5px 10px; + display: inline; + background: #777 url(button.png) repeat-x bottom; + border: none; + color: #fff; + cursor: pointer; + font-weight: bold; + border-radius: 5px; + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + /*text-shadow: 1px 1px #666;*/ +} + +.button:hover +{ + background-position: 0 -48px; +} + +.button:active +{ + background-position: 0 top; + position: relative; + top: 1px; + padding: 5px 10px 4px 10px; +} + +.button.red +{ + background-color: #e50000; +} + +.button.purple +{ + background-color: #9400bf; +} + +.button.green +{ + background-color: #58aa00; +} + +.button.orange +{ + background-color: #ff9c00; +} + +.button.blue +{ + background-color: #2c6da0; +} + +.button.black +{ + background-color: #333; +} + +.button.white +{ + background-color: #fff; + color: #000; + text-shadow: 1px 1px #fff; +} + +.button.small +{ + font-size: 75%; + padding: 3px 7px; +} + +.button.small:hover +{ + background-position: 0 -50px; +} + +.button.small:active +{ + padding: 4px 7px 2px; + background-position: 0 top; +} + +.button.large +{ + font-size: 125%; + padding: 7px 12px; +} + +.button.large:hover +{ + background-position: 0 -35px; +} + +.button.large:active +{ + padding: 8px 12px 6px; + background-position: 0 top; +} + +.button.blue.wide +{ + width: 100px; +} + +A.linktext +{ + font-family: Verdana, Tahoma, Arial, "Helvetica Neue", Helvetica, Sans-Serif; + font-size: 14px; + text-decoration: none; + color: #7B9BAF; +} + +.DataEntryStd_TextArea +{ + width: 400px; + height: 40px; + font-size: 9px; +} + +.DataEntryStd_TextBox +{ + width: 150px; + font-size: 9px; +} + +.even +{ + background-color: #F8F8F8; +} + +/* +.toplink A:active +{ + text-decoration: none; + color: Black; +} +.toplink A:hover +{ + text-decoration: none; + color: Black; + background: #f1f6f8; + padding-top: 10px; + padding-bottom: 10px; +} +*/ \ No newline at end of file diff --git a/TaskMVC/Content/images/topBg-repeat.png b/TaskMVC/Content/images/topBg-repeat.png new file mode 100644 index 0000000..b8ff88c Binary files /dev/null and b/TaskMVC/Content/images/topBg-repeat.png differ diff --git a/TaskMVC/Content/images/topRepeat.png b/TaskMVC/Content/images/topRepeat.png new file mode 100644 index 0000000..b5a9ac7 Binary files /dev/null and b/TaskMVC/Content/images/topRepeat.png differ 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 0000000..5473aff Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_30_cccccc_40x100.png differ 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 0000000..5950a8d Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_flat_50_5c5c5c_40x100.png differ diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png new file mode 100644 index 0000000..1ad224a Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_20_555555_1x400.png differ diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png new file mode 100644 index 0000000..1cf1cac Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_0078a3_1x400.png differ 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 0000000..35ec0d9 Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_glass_40_ffc73d_1x400.png differ 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 0000000..b1b03b6 Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_gloss-wave_25_333333_500x100.png differ 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 0000000..e56eefd Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_highlight-soft_80_eeeeee_1x100.png differ 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 0000000..3525eb9 Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_25_000000_1x100.png differ 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 0000000..2b6a9f9 Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-bg_inset-soft_30_f58400_1x100.png differ 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 0000000..b273ff1 Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_222222_256x240.png differ 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 0000000..3bdb67b Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_4b8e0b_256x240.png differ 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 0000000..020371b Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_a83300_256x240.png differ diff --git a/TaskMVC/Content/themes/ui-darkness/images/ui-icons_cccccc_256x240.png b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_cccccc_256x240.png new file mode 100644 index 0000000..9254e05 Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_cccccc_256x240.png differ 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 0000000..42f8f99 Binary files /dev/null and b/TaskMVC/Content/themes/ui-darkness/images/ui-icons_ffffff_256x240.png differ 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 0000000..954e22d Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png differ 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 0000000..64ece57 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png differ 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 0000000..abdc010 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png differ 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 0000000..9b383f4 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png differ diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png new file mode 100644 index 0000000..a23baad Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png differ diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png new file mode 100644 index 0000000..42ccba2 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png differ 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 0000000..39d5824 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png differ 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 0000000..f127367 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png differ diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png new file mode 100644 index 0000000..359397a Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png differ 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 0000000..b273ff1 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_222222_256x240.png differ 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 0000000..a641a37 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_228ef1_256x240.png differ 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 0000000..85e63e9 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png differ 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 0000000..e117eff Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png differ diff --git a/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffffff_256x240.png b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffffff_256x240.png new file mode 100644 index 0000000..42f8f99 Binary files /dev/null and b/TaskMVC/Content/themes/ui-lightness/images/ui-icons_ffffff_256x240.png differ 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 + + + + + + + + +