Parcourir la source

Ajout du module de changement d'années en jquery

olivier.massot il y a 7 ans
Parent
commit
3724e30b16

+ 5 - 0
CD67.FicheCollege.MVC/CD67.FicheCollege.MVC.csproj

@@ -277,6 +277,11 @@
     <Content Include="images\img_stairs.jpg" />
     <Content Include="images\img_work.jpg" />
     <Content Include="images\LogoCD67Recette.png" />
+    <Content Include="images\sort_asc.png" />
+    <Content Include="images\sort_asc_disabled.png" />
+    <Content Include="images\sort_both.png" />
+    <Content Include="images\sort_desc.png" />
+    <Content Include="images\sort_desc_disabled.png" />
     <Content Include="Scripts\cd67-AutoComplete.js" />
     <Content Include="Scripts\cd67-colorbox.js" />
     <Content Include="Scripts\cd67-main.js" />

+ 1 - 1
CD67.FicheCollege.MVC/Controllers/ActionsEduCollegeController.cs

@@ -23,7 +23,7 @@ namespace CD67.FicheCollege.MVC.Controllers
 
             AnneeFactory fact = new AnneeFactory(db);
             Annee annee = fact.getById(annee_id);
-            AnneeViewModel model = new AnneeViewModel(annee);
+            AnneeViewModel model = new AnneeViewModel(annee, db);
             return View(model);
         }
 

+ 1 - 1
CD67.FicheCollege.MVC/Controllers/ActionsEduController.cs

@@ -22,7 +22,7 @@ namespace CD67.FicheCollege.MVC.Controllers
             }
             AnneeFactory fact = new AnneeFactory(db);
             Annee annee = fact.getById(annee_id);
-            AnneeViewModel model = new AnneeViewModel(annee, ModeAcces.Lecture);
+            AnneeViewModel model = new AnneeViewModel(annee, db, ModeAcces.Lecture);
             return View(model);
         }
 

+ 3 - 3
CD67.FicheCollege.MVC/Controllers/AnneesController.cs

@@ -35,7 +35,7 @@ namespace CD67.FicheCollege.MVC.Controllers
                 return HttpNotFound();
             }
 
-            AnneeViewModel model = new AnneeViewModel(annee);
+            AnneeViewModel model = new AnneeViewModel(annee, db);
             return View(model);
         }
 
@@ -53,7 +53,7 @@ namespace CD67.FicheCollege.MVC.Controllers
                 return HttpNotFound();
             }
 
-            AnneeViewModel model = new AnneeViewModel(annee);
+            AnneeViewModel model = new AnneeViewModel(annee, db);
             return View(model);
         }
 
@@ -71,7 +71,7 @@ namespace CD67.FicheCollege.MVC.Controllers
                 return HttpNotFound();
             }
 
-            AnneeViewModel model = new AnneeViewModel(annee);
+            AnneeViewModel model = new AnneeViewModel(annee, db);
             return View(model);
         }
 

+ 1 - 1
CD67.FicheCollege.MVC/Controllers/CollegesController.cs

@@ -20,7 +20,7 @@ namespace CD67.FicheCollege.MVC.Controllers
             }
             AnneeFactory fact = new AnneeFactory(db);
             Annee annee = fact.getById(annee_id);
-            AnneeViewModel model = new AnneeViewModel(annee, ModeAcces.Lecture);
+            AnneeViewModel model = new AnneeViewModel(annee, db, ModeAcces.Lecture);
             return View(model);
         }
 

+ 8 - 1
CD67.FicheCollege.MVC/Models/AnneeViewModel.cs

@@ -1,12 +1,19 @@
 using CD67.FicheCollege.Entity;
+using CD67.FicheCollege.Factory;
 using System.Collections.Generic;
+using System.Linq;
+using System.Web.Mvc;
 
 namespace CD67.FicheCollege.MVC.Models
 {
     public class AnneeViewModel : BaseViewModel<Annee>
     {
-        public AnneeViewModel(Annee model, ModeAcces acces = ModeAcces.Lecture, Dictionary<string, object> bag = null) : base(model, acces, bag)
+        public IQueryable<Annee> ListAnnees;
+
+        public AnneeViewModel(Annee model, Entities dbContext, ModeAcces acces = ModeAcces.Lecture, Dictionary<string, object> bag = null) : base(model, acces, bag)
         {
+            AnneeFactory fact = new AnneeFactory(dbContext);
+            ListAnnees = fact.getAll();
         }
 
         public override string Annee_Lib { get { return Obj.Libelle; } }

+ 21 - 2
CD67.FicheCollege.MVC/Scripts/cd67-Menu.js

@@ -10,7 +10,8 @@
         else {
             jQuery(document).one('click', toggleOverlay);
         }
-    }
+    };
+
     $toggle.click(function (evt) {
         jQuery("body").toggleClass("show-menu");
         $toggle.toggleClass('menu-button--open');
@@ -26,8 +27,26 @@
         $(menu).closest("li").find(".submenu").toggleClass('hidden');
     });
 
-    $("header .input-search").hide();
+    
     $('header .icon-search').bind("click", function () {
         $("header .input-search").toggle('fast');
     });
+
+    $("#select-annee").on("click", function (event) {
+        $("#select-annee").hide();
+        $("#yearpicker").show();
+        $("#yearpicker").focus();
+        event.preventDefault();
+    });
+
+    $("#yearpicker").on("change", function () {
+        var annee_id = $("#yearpicker").val();
+        window.location.href = "/Annees/Details/" + annee_id;
+    });
+
+    $("#yearpicker").on("focusout", function () {
+        $("#yearpicker").hide();
+        $("#select-annee").show();
+    });
+
 });

+ 1 - 0
CD67.FicheCollege.MVC/Views/Annees/Index.cshtml

@@ -2,6 +2,7 @@
 @model AnneeIndexViewModel
 
 @{
+    Layout = "~/Views/Shared/_AdminLayout.cshtml";
     ViewBag.Title = "Liste";
 }
 

+ 19 - 2
CD67.FicheCollege.MVC/Views/Shared/_Layout.cshtml

@@ -52,7 +52,23 @@
 
                 @* Titre et année en cours *@
                 <span id="titre" class="nav navbar">
-                    <h1 id="app-title">Fiches collège <a href="/Annees">@Model.Annee_Lib <sup class="fa fa-edit sup"></sup></a></h1>
+                    <h1 id="app-title">Fiches collège 
+                        <a id="select-annee" href="/Annees">@Model.Annee_Lib <sup class="fa fa-edit sup"></sup></a>
+                        
+                        <select name="yearpicker" id="yearpicker" value="@Model.Obj.Id" style="display:none;">
+                            @foreach (Annee annee in @Model.ListAnnees)
+                            {
+                                if (annee.Id == @Model.Obj.Id)
+                                {
+                                    <option selected value="@annee.Id">@annee.Libelle</option>
+                                }
+                                else
+                                {
+                                    <option value="@annee.Id">@annee.Libelle</option>
+                                }
+                            }
+                        </select>
+                    </h1>
                 </span>
                 
                 <ul class="nav navbar-nav navbar-right">
@@ -61,7 +77,7 @@
                     <li class="search">
                         <form action="@Url.Action("Index", "Recherche", new { })" class="search-form">
                             <label for="recherche" class="search-field">
-                                <input type="text" class="form-control input-search" name="recherche" id="recherche" placeholder="Rechercher..." data-auto="" value="@Request["recherche"]">
+                                <input type="text" class="form-control input-search" style="display:none;" name="recherche" id="recherche" placeholder="Rechercher..." data-auto="" value="@Request["recherche"]">
                             </label>
                             <span class="icon-search fa fa-search fa-2x"></span>
                         </form>
@@ -170,3 +186,4 @@
     @RenderSection("Scripts", false)
 </body>
 </html>
+