r34 - in jtimerhtml5: . src/main/java/org/chorem/jtimer src/main/resources/html src/main/resources/html/css src/main/resources/html/js
Author: qmoriceau Date: 2013-05-24 17:59:41 +0200 (Fri, 24 May 2013) New Revision: 34 Url: http://chorem.org/projects/incubator/repository/revisions/34 Log: D?\195?\169but de test pour parser les objets java en json Modified: jtimerhtml5/README.txt jtimerhtml5/pom.xml jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java jtimerhtml5/src/main/java/org/chorem/jtimer/TaskService.java jtimerhtml5/src/main/resources/html/about.html jtimerhtml5/src/main/resources/html/alerts.html jtimerhtml5/src/main/resources/html/css/report.css jtimerhtml5/src/main/resources/html/editionTask.html jtimerhtml5/src/main/resources/html/index.html jtimerhtml5/src/main/resources/html/js/actionsMenus.js jtimerhtml5/src/main/resources/html/js/alerts.js jtimerhtml5/src/main/resources/html/report.html jtimerhtml5/src/main/resources/html/test.html Modified: jtimerhtml5/README.txt =================================================================== --- jtimerhtml5/README.txt 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/README.txt 2013-05-24 15:59:41 UTC (rev 34) @@ -4,7 +4,7 @@ Requirements ------------ -- Sun jre 1.6 (official, jTimer is buggy under OpenJDK) +- Sun jre 1.7 (official, jTimer is buggy under OpenJDK) Installation Modified: jtimerhtml5/pom.xml =================================================================== --- jtimerhtml5/pom.xml 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/pom.xml 2013-05-24 15:59:41 UTC (rev 34) @@ -9,7 +9,7 @@ <groupId>org.chorem</groupId> <artifactId>jtimer</artifactId> - <version>1.4.1</version> + <version>2.0-SNAPSHOT</version> <name>jTimer</name> <description> @@ -81,42 +81,19 @@ <artifactId>nuiton-utils</artifactId> <version>2.2</version> </dependency> - <dependency> - <groupId>commons-logging</groupId> - <artifactId>commons-logging</artifactId> - <version>1.1.1</version> - </dependency> - <dependency> - <groupId>commons-primitives</groupId> - <artifactId>commons-primitives</artifactId> - <version>1.0</version> - </dependency> - <dependency> - <groupId>commons-collections</groupId> - <artifactId>commons-collections</artifactId> - <version>3.2.1</version> - </dependency> - <dependency> - <groupId>commons-beanutils</groupId> - <artifactId>commons-beanutils</artifactId> - <version>1.8.3</version> - </dependency> - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>4.9</version> - </dependency> - <dependency> - <groupId>log4j</groupId> - <artifactId>log4j</artifactId> - <version>1.2.16</version> - </dependency> - <dependency> - <groupId>org.nuiton.i18n</groupId> - <artifactId>nuiton-i18n</artifactId> - <version>2.4.1</version> - </dependency> + <dependency> + <groupId>org.nuiton.js</groupId> + <artifactId>nuiton-js-jquery</artifactId> + <version>1.9.1-2</version> + </dependency> + + <dependency> + <groupId>org.nuiton.js</groupId> + <artifactId>nuiton-js-jquery-ui</artifactId> + <version>1.10.2-1</version> + </dependency> + <dependency> <groupId>com.oracle</groupId> <artifactId>javafx</artifactId> @@ -131,5 +108,22 @@ <version>1.3.170</version> <scope>runtime</scope> </dependency> + + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-core</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-databind</artifactId> + <version>2.2.1</version> + </dependency> + <dependency> + <groupId>com.fasterxml.jackson.core</groupId> + <artifactId>jackson-annotations</artifactId> + <version>2.2.1</version> + </dependency> + </dependencies> </project> Modified: jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java =================================================================== --- jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/java/org/chorem/jtimer/JTimer.java 2013-05-24 15:59:41 UTC (rev 34) @@ -2,6 +2,8 @@ import org.nuiton.util.ObjectUtil; +import com.fasterxml.jackson.databind.ObjectMapper; + import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; @@ -41,6 +43,8 @@ import javafx.stage.Stage; import javafx.stage.StageStyle; import javafx.util.Callback; + +import org.chorem.jtimer.storage.Storage; public class JTimer extends Application { @@ -274,6 +278,7 @@ public static void main(String[] args) { + final TaskService ts = new TaskService(); // outil de comunication javascript/java par URL URL.setURLStreamHandlerFactory(new URLStreamHandlerFactory() { @Override @@ -285,7 +290,6 @@ public URLConnection openConnection(URL url) throws IOException { final String[] path = url.getPath().split("/"); - final TaskService ts = new TaskService(); if (path[1].equals("task")) { return new URLConnection(url) { @Override @@ -295,13 +299,18 @@ public InputStream getInputStream() throws IOException {// /!\ passe deux fois ici dans l'execution de l'évenement. InputStream is = null; String content = new String(); + ObjectMapper mapper = new ObjectMapper(); + Object result = new Object(); + String[] param = new String[path.length-3]; for(int i=0;i<path.length-3;i++){ param[i]=path[i+3]; } List<Method> m = ObjectUtil.getMethod(TaskService.class,path[2],false); try { - content = (String) ObjectUtil.call(ts, m.get(0), param); + result = ObjectUtil.call(ts, m.get(0), param); + content = mapper.writeValueAsString(result); + System.out.println(content); } catch (IllegalAccessException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -315,7 +324,9 @@ // TODO Auto-generated catch block e.printStackTrace(); } - + if (content==null){ + content=""; + } is = new ByteArrayInputStream(content.getBytes()); return is; } Modified: jtimerhtml5/src/main/java/org/chorem/jtimer/TaskService.java =================================================================== --- jtimerhtml5/src/main/java/org/chorem/jtimer/TaskService.java 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/java/org/chorem/jtimer/TaskService.java 2013-05-24 15:59:41 UTC (rev 34) @@ -1,28 +1,31 @@ package org.chorem.jtimer; +import java.io.UnsupportedEncodingException; +import java.net.URLDecoder; + public class TaskService { - public String getTasks(){ + public String getProjects(){ return ("{\"projects\":[{\"number\":\"1\",\"name\":\"jTimer - html5\",\"timeToday\":\"01:24:58\",\"timeTotal\":\"13:25:32\",\"tasks\":[{\"number\":\"3\",\"name\":\"Interface html\",\"timeToday\":\"01:00:02\",\"timeTotal\":\"06:54:24\",\"tasks\":[]},{\"number\":\"9\",\"name\":\"Documentation\",\"timeToday\":\"00:24:56\",\"timeTotal\":\"06:31:07\",\"tasks\":[]}]}]}"); } - public void newProject(String name){ + public void addProject(String name){ System.out.println("newProject call"); } - public String edProject(int idProject, String newName){ - return ("Nouveau nom du projet "+idProject+" est : "+newName); + public String modifyProject(int idProject, String newName) throws UnsupportedEncodingException{ + return ("Nouveau nom du projet "+idProject+" est : "+URLDecoder.decode(newName, "UTF-8")); } public void ofProject(int idProject){ } - public void supprProject(int idProject){ + public void deleteProject(int idProject){ } - public void newTask(String name){ + public void addTask(String name){ } @@ -30,20 +33,19 @@ } - public void supprTask(int idTask){ + public void deleteTask(int idTask){ } - public String startTask(){ - System.out.println("Démarre la tâche"); - return("{\"task\":[{\"pre\":\"comment ça va ?\",\"suf\":\"comme un mercredi\"}]}"); + public String startTask(int idTask){ + return("{\"task\":[{\"pre\":\"comment ça va ?\",\"suf\":\"comme un vendredi\"}]}"); } public void stopTask(int idTask){ } - public void addAnnotation(int idTask, String note){ + public void setAnnotation(int idTask, String note){// ne pas oublier la date ! } @@ -59,7 +61,7 @@ }*/ - public void systray(boolean bool){ + public void systray(boolean bool){ //vraiment besoin du booléen ? } Modified: jtimerhtml5/src/main/resources/html/about.html =================================================================== --- jtimerhtml5/src/main/resources/html/about.html 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/about.html 2013-05-24 15:59:41 UTC (rev 34) @@ -5,7 +5,7 @@ <title>A propos de jTimer</title> <link rel="stylesheet" type="text/css" href="css/style.css"/> <link rel="stylesheet" type="text/css" href="css/about.css"/> - <script src="js/jquery.js"></script> + <script src="js/jquery.js"></script><!--<script src="/nuiton-js/jquery.js"></script> --> <script type="text/javascript"> <!-- //choix entre les deux texte via les boutons function action(i){ Modified: jtimerhtml5/src/main/resources/html/alerts.html =================================================================== --- jtimerhtml5/src/main/resources/html/alerts.html 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/alerts.html 2013-05-24 15:59:41 UTC (rev 34) @@ -5,8 +5,10 @@ <title>jTimer - Alertes</title> <link rel="stylesheet" type="text/css" href="css/alerts.css"/> <link rel="stylesheet" type="text/css" href="css/style.css"/> - <script type="text/javascript" src="js/alerts.js"></script> - <script src="js/jquery.js"></script> + <link rel="stylesheet" href="js/jquery-ui/themes/base/jquery-ui.css"/> + <script src="js/jquery.js"></script><!--<script src="/nuiton-js/jquery.js"></script> --> + <script src="js/jquery-ui/ui/jquery-ui.js"></script> + <script src="js/alerts.js"></script> </head> <body> <b>Listes des alertes :</b> Modified: jtimerhtml5/src/main/resources/html/css/report.css =================================================================== --- jtimerhtml5/src/main/resources/html/css/report.css 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/css/report.css 2013-05-24 15:59:41 UTC (rev 34) @@ -49,36 +49,34 @@ } #generReport{ - width:15%; - height:30px; + width:17%; + min-height:30px; border-style:solid; border-width:2px; border-color:#339999; border-radius: 4px; cursor:pointer; - position:fixed; + display:inline-block; text-align:center; bottom:5px; } #mailReport{ - width:16%; - height:30px; + width:17%; + min-height:30px; border-style:solid; border-width:2px; border-color:#339999; border-radius: 4px; cursor:pointer; - position:fixed; - margin-left:16%; + display:inline-block; text-align:center; bottom:5px; } #closeReport{ - width:16%; - margin-left:33%; - position:fixed; + width:13%; + display:inline-block; bottom:10px; } Modified: jtimerhtml5/src/main/resources/html/editionTask.html =================================================================== --- jtimerhtml5/src/main/resources/html/editionTask.html 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/editionTask.html 2013-05-24 15:59:41 UTC (rev 34) @@ -6,7 +6,7 @@ <link rel="stylesheet" type="text/css" href="css/style.css"/> <link rel="stylesheet" type="text/css" href="css/editionT.css"/> <link rel="stylesheet" href="js/jquery-ui/themes/base/jquery-ui.css"/> - <script src="js/jquery.js"></script> + <script src="js/jquery.js"></script><!--<script src="/nuiton-js/jquery.js"></script> --> <script src="js/jquery-ui/ui/jquery-ui.js"></script> <script src="js/editionT.js"></script> </head> @@ -17,9 +17,9 @@ <div id="datepicker"></div> <footer> Temps: - <input type="text" name="hour" value="00" size=2>: - <input type="text" name="minutes" value="00" size=2>: - <input type="text" name="seconds" value="00" size=2><br> + <input id="spinnerh" type="text" name="hour" value="00" size=2>: + <input id="spinnerm" type="text" name="minutes" value="00" size=2>: + <input id="spinners" type="text" name="seconds" value="00" size=2><br> Note:<textarea rows="4" id="noteTache"></textarea><br> <input type="button" id="editionApply" value="Appliquer"> <input type="reset" id="editionCancel" value="Annuler"> @@ -32,6 +32,9 @@ dateSelec(dateText); } }); + $("#spinnerh").spinner({ min: 0, max: 23 }); + $("#spinnerm").spinner({ min: 0, max: 59 }); + $("#spinners").spinner({ min: 0, max: 59 }); </script> </body> </html> Modified: jtimerhtml5/src/main/resources/html/index.html =================================================================== --- jtimerhtml5/src/main/resources/html/index.html 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/index.html 2013-05-24 15:59:41 UTC (rev 34) @@ -6,7 +6,7 @@ <link rel="stylesheet" href="js/jquery-ui/themes/base/jquery-ui.css"/> <link rel="stylesheet" href="css/style.css"/> <link rel="stylesheet" href="css/jtimer.css"/> - <script src="js/jquery.js"></script> <!-- nuiton js --> + <script src="js/jquery.js"></script> <script src="js/jquery-ui/ui/jquery-ui.js"></script> <script src="js/actionsMenus.js"></script> </head> @@ -21,31 +21,31 @@ <li><a href="#">Project</a> <ul> <li><a title="Création d'un nouveau projet" href="javascript:newProject()">Nouveau Projet</a></li> - <li><a title="Édition du projet" href="javascript:edProject()">Éditer le Projet</a></li> - <li><a title="Ouvrir ou fermer le projet" href="javascript:ofProject()">Ouvrir/Fermer le Projet</a></li> - <li><a title="Suppression du Projet" href="javascript:supprProject()">Supprimer le projet</a></li> + <li><a class="optionNotTask" title="Édition du projet" href="javascript:edProject()">Éditer le Projet</a></li> + <li><a class="optionNotTask" title="Ouvrir ou fermer le projet" href="javascript:ofProject()">Ouvrir/Fermer le Projet</a></li> + <li><a class="optionNotTask" title="Suppression du Projet" href="javascript:supprProject()">Supprimer le projet</a></li> </ul> </li> <li><a href="#">Tâche</a> <ul> <li><a title="Création d'une nouvelle tâche" href="javascript:newTask()">Nouvelle tâche</a></li> - <li><a title="Édition de la tâche" href="javascript:edTask()">Éditer la tâche</a></li> - <li><a title="Ouvrir ou fermer la tâche" href="javascript:ofTask()">Ouvrir/Fermer la tâche</a></li> - <li><a title="Suppression de la tâche" href="javascript:supprTask()">Supprimer la tâche</a></li> + <li><a class="optionNotProject" title="Édition de la tâche" href="javascript:edTask()">Éditer la tâche</a></li> + <li><a class="optionNotProject" title="Ouvrir ou fermer la tâche" href="javascript:ofTask()">Ouvrir/Fermer la tâche</a></li> + <li><a class="optionNotProject" title="Suppression de la tâche" href="javascript:supprTask()">Supprimer la tâche</a></li> - <li><a title="Démarrage de la tâche" href="javascript:startTask()">Démarrer</a></li> - <li><a title="Arrêt de la tâche" href="javascript:stopTask()">Arrêter</a></li> + <li><a class="optionNotProject" title="Démarrage de la tâche" href="javascript:startTask()">Démarrer</a></li> + <li><a class="optionNotProject" title="Arrêt de la tâche" href="javascript:stopTask()">Arrêter</a></li> - <li><a title="Ajout d'une annotation" href="javascript:addAnnotation()">Ajouter une annotation</a></li> - <li><a title="Édition des alertes" href="javascript:edAlerts()">Éditer les Alertes</a></li> - <li><a title="Ajout de 1 minute à la tâche" href="javascript:addsou(1)">Ajouter 1 minute</a></li> - <li><a title="Ajout de 5 minutes à la tâche" href="javascript:addsou(5)">Ajouter 5 minutes</a></li> - <li><a title="Ajout de 30 minutes à la tâche" href="javascript:addsou(30)">Ajouter 30 minutes</a></li> - <li><a title="Enlève 1 minute à la tâche" href="javascript:addsou(-1)">Enlever 1 minute</a></li> - <li><a title="Enlève 5 minutes à la tâche" href="javascript:addsou(-5)">Enlever 5 minutes</a></li> - <li><a title="Enlève 30 minutes à la tâche" href="javascript:addsou(-30)">Enlever 30 minutes</a></li> - <li><a title="Remet la tâche à zero" href="javascript:zero()">Remettre à Zero</a></li> - <li><a title="Fusionne les tâches sélectionnées" href="javascript:fusion()">Fusionner</a></li> + <li><a class="optionNotProject" title="Ajout d'une annotation" href="javascript:addAnnotation()">Ajouter une annotation</a></li> + <li><a class="optionNotProject" title="Édition des alertes" href="javascript:edAlerts()">Éditer les Alertes</a></li> + <li><a class="optionNotProject" title="Ajout de 1 minute à la tâche" href="javascript:addsou(1)">Ajouter 1 minute</a></li> + <li><a class="optionNotProject" title="Ajout de 5 minutes à la tâche" href="javascript:addsou(5)">Ajouter 5 minutes</a></li> + <li><a class="optionNotProject" title="Ajout de 30 minutes à la tâche" href="javascript:addsou(30)">Ajouter 30 minutes</a></li> + <li><a class="optionNotProject" title="Enlève 1 minute à la tâche" href="javascript:addsou(-1)">Enlever 1 minute</a></li> + <li><a class="optionNotProject" title="Enlève 5 minutes à la tâche" href="javascript:addsou(-5)">Enlever 5 minutes</a></li> + <li><a class="optionNotProject" title="Enlève 30 minutes à la tâche" href="javascript:addsou(-30)">Enlever 30 minutes</a></li> + <li><a class="optionNotProject" title="Remet la tâche à zero" href="javascript:zero()">Remettre à Zero</a></li> + <li><a class="optionNotProject" title="Fusionne les tâches sélectionnées" href="javascript:fusion()">Fusionner</a></li> </ul> </li> <li><a href="#">Rapport</a> @@ -79,13 +79,13 @@ <div class="buttons"> <!-- Les boutons d'actions Réflechir à la possibilité de n'avoire qu'un bouton pour démarré et stoper une tâche. --> - <span id="startTask" title="Démarre la tâche sélectionnée" onclick="startTask()"></span> - <span id="stopTask" title="Arrête la tâche sélectionnée" onclick="stopTask()"></span> - <span id="newProject" title="Création d'un nouveau Projet" onclick="newProject()"></span> - <span id="newTask" title="Création d'une nouvelle tâche" onclick="newTask()"></span> + <a class="optionNotProject" id="startTask" title="Démarre la tâche sélectionnée" href="javascript:startTask()"></a> + <a class="optionNotProject" id="stopTask" title="Arrête la tâche sélectionnée" href="javascript:stopTask()"></a> + <a id="newProject" title="Création d'un nouveau Projet" href="javascript:newProject()"></a> + <a id="newTask" title="Création d'une nouvelle tâche" href="javascript:newTask()"></a> - <span id="note" title="Ajouter une annotation" onclick="addAnnotation()"></span> - <span id="alert" title="Edition des Alerts" onclick="edAlerts()"></span> + <a class="optionNotProject" id="note" title="Ajouter une annotation" href="javascript:addAnnotation()"></a> + <a class="optionNotProject" id="alert" title="Edition des Alerts" href="javascript:edAlerts()"></a> </div> <div id="tabTask"> <!-- Arborescence des Tasks --> @@ -127,9 +127,6 @@ }; $("#menu > li > a > span.ui-icon-carat-1-e").removeClass("ui-icon-carat-1-e").addClass("ui-icon-carat-1-s"); - - $("#treeTasks").sortable(); - $(".subtask").sortable(); </script> </body> </html> Modified: jtimerhtml5/src/main/resources/html/js/actionsMenus.js =================================================================== --- jtimerhtml5/src/main/resources/html/js/actionsMenus.js 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/js/actionsMenus.js 2013-05-24 15:59:41 UTC (rev 34) @@ -1,7 +1,8 @@ var tabProjects = new Array(); +var elemSelec = ""; function getTasks(){ - $.getJSON('http://services/task/getTasks',function(data) { + $.getJSON('http://services/task/getProjects',function(data) { for (var i = 0; i<3; i++){ tabProjects[data.projects[i].number] = {'name':data.projects[i].name,'timeToday':data.projects[i].timeToday,'timeTotal':data.projects[i].timeTotal,'tasks':data.projects[i].tasks}; } @@ -14,10 +15,13 @@ alert(""); // fonctionne avec le alert mais pas sans... var treeT = ""; for (var o in tabProjects){ - treeT = treeT + "<li id='p"+o+"'><span class='col' id='titlep"+o+"'>"+tabProjects[o].name+"</span><span class='col'>"+tabProjects[o].timeToday+"</span><span class='col'>"+tabProjects[o].timeTotal+"</span>"; + treeT = treeT + "<li><div class='selec' id='p"+o+"'><span class='col' id='titlep"+o+"'>"+tabProjects[o].name+"</span><span class='col'>"+tabProjects[o].timeToday+"</span><span class='col'>"+tabProjects[o].timeTotal+"</span></div>"; treeT = treeT + createSubTasks(tabProjects[o].tasks); treeT = treeT + "</li>"; $("#treeTasks").html(treeT); + $("#treeTasks").sortable(); + $(".subtask").sortable(); + disableOptions(); } } @@ -26,7 +30,7 @@ var subT = "<ul class='subtask'>"; for(var t in tabTasks){ var nb = tabTasks[t].number; - subT = subT + "<li id='t"+nb+"'><span class='col' id='titlet"+nb+"'>"+tabTasks[t].name+"</span><span class='col'>"+tabTasks[t].timeToday+"</span><span class='col'>"+tabTasks[t].timeTotal+"</span>"; + subT = subT + "<li><div class='selec' id='t"+nb+"'><span class='col' id='titlet"+nb+"'>"+tabTasks[t].name+"</span><span class='col'>"+tabTasks[t].timeToday+"</span><span class='col'>"+tabTasks[t].timeTotal+"</span>"; if(tabTasks[t].tasks!=[]){ subT = subT + createSubTasks(tabTasks[t].tasks); } @@ -40,6 +44,44 @@ } } +function disableOptions(){ + $(".selec").click( function(){ + $("#"+elemSelec).css('background-color',''); + elemSelec = this.id; + $("#"+elemSelec).css('background-color','#A9EAFE'); + if(elemSelec.charAt(0)=="p"){ + $(".optionNotProject").css("color","grey"); + $(".optionNotProject").css("cursor","default"); + $(".optionNotTask").css("color","black"); + $(".optionNotTask").css("cursor","pointer"); + $("#startTask").css("background-color","grey"); + $("#stopTask").css("background-color","grey"); + $("#note").css("background-color","grey"); + $("#alert").css("background-color","grey"); + } + else if(elemSelec.charAt(0)=="t"){ + $(".optionNotTask").css("color","grey"); + $(".optionNotTask").css("cursor","default"); + $(".optionNotProject").css("color","black"); + $(".optionNotProject").css("cursor","pointer"); + $("#startTask").css("background-color",""); + $("#stopTask").css("background-color",""); + $("#note").css("background-color",""); + $("#alert").css("background-color",""); + } + }); + $(".optionNotProject").click( function(){ + if(elemSelec.charAt(0)=="p"){ + return false; + } + }); + $(".optionNotTask").click( function(){ + if(elemSelec.charAt(0)=="t"){ + return false; + } + }); +} + /* Différente actions des menus et des boutons */ function newProject(){ @@ -48,7 +90,7 @@ alert("Erreur : Le nom est vide !"); } else { - $.get('http://services/task/newProject/salutsalut',function(data){ + $.get('http://services/task/addProject/'+nameNewProject,function(data){ alert(data); }); } @@ -61,7 +103,7 @@ alert("Erreur : Le nom est vide !"); } else { - $.get('http://services/task/edProject/1/'+newnameProject,function(data){ + $.get('http://services/task/modifyProject/'+elemSelec.substring(1,elemSelec.length)+'/'+newnameProject,function(data){ alert(data); }); } @@ -69,7 +111,7 @@ } function ofProject(){ - $.get('http://services/task/ofProject',function(data){ + $.get('http://services/task/ofProject/'+elemSelec.substring(1,elemSelec.length),function(data){ alert(data); }); } @@ -77,7 +119,7 @@ function supprProject() { var bool = confirm("Voulez-vous supprimer le Projet x ?") if (bool){ - $.get('http://services/task/supprProject',function(data){ + $.get('http://services/task/deleteProject/'+elemSelec.substring(1,elemSelec.length),function(data){ alert(data); }); } @@ -88,7 +130,11 @@ if (nameNewTask=="") { alert("Erreur : Le nom est vide !"); } - else {} + else { + $.get('http://services/task/addTask/'+nameNewTask,function(data){ + alert(data); + }); + } // vérifier si une autre tâche n'a pas déjà ce nom au même niveau } @@ -97,7 +143,7 @@ } function ofTask(){ - $.get('http://services/task/ofTask',function(data){ + $.get('http://services/task/ofTask/'+elemSelec.substring(1,elemSelec.length),function(data){ alert(data); }); } @@ -105,14 +151,14 @@ function supprTask(){ var bool = confirm("Voulez-vous supprimer la tâche x ?"); if (bool){ - $.get('http://services/task/supprTask',function(data){ + $.get('http://services/task/deleteTask/'+elemSelec.substring(1,elemSelec.length),function(data){ alert(data); }); } } function startTask(){ - $.getJSON('http://services/task/startTask?commentcava&commeunlundi',function(data){ + $.getJSON('http://services/task/startTask/1',function(data){ var bla = data.task[0].pre; bla = bla + " " + data.task[0].suf; alert(bla); @@ -120,14 +166,14 @@ } function stopTask(){ - $.get('http://services/task/stopTask',function(data){ + $.get('http://services/task/stopTask/'+elemSelec.substring(1,elemSelec.length),function(data){ alert(data); }); } function addAnnotation(){ var newAnnot = prompt("Annotation pour la tâche x :",""); - $.get('http://services/task/addAnnotation',function(data){ + $.get('http://services/task/setAnnotation/'+elemSelec.substring(1,elemSelec.length)+'/'+newAnnot,function(data){ alert(data); }); } @@ -137,13 +183,13 @@ } function addsou(nb){ - $.get('http://services/task/addsou',function(data){ + $.get('http://services/task/addsou/'+elemSelec.substring(1,elemSelec.length)+'/'+nb,function(data){ alert(data); }); } function zero(){ - $.get('http://services/task/zero',function(data){ + $.get('http://services/task/zero/'+elemSelec.substring(1,elemSelec.length),function(data){ alert(data); }); } @@ -168,8 +214,8 @@ }); } -function dStartWeek(){ - $.get('http://services/task/dStartWeek',function(data){ +function dStartWeek(day){ + $.get('http://services/task/dStartWeek/'+day,function(data){ alert(data); }); } Modified: jtimerhtml5/src/main/resources/html/js/alerts.js =================================================================== --- jtimerhtml5/src/main/resources/html/js/alerts.js 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/js/alerts.js 2013-05-24 15:59:41 UTC (rev 34) @@ -3,7 +3,10 @@ function add(){ rows++; - $('#listAlerts').append("<div id='num"+rows+"'><select><option value='rdt'>REACH_DAILY_TIME</option><option value='rtt'>REACH_TOTAL_TIME</option></select><input type='text' size='2'>h<input type='text' size='2'>m<input type='text' size='2'>s <input type='button' value='X' onclick='suppr("+rows+")'></div>"); + $('#listAlerts').append("<div id='num"+rows+"'><select><option value='rdt'>REACH_DAILY_TIME</option><option value='rtt'>REACH_TOTAL_TIME</option></select><input class='spinnerh' type='text' size='2'>h<input class='spinnerm' type='text' size='2'>m<input class='spinners' type='text' size='2'>s <input type='button' value='X' onclick='suppr("+rows+")'></div>"); + $(".spinnerh").spinner({ min: 0}); + $(".spinnerm").spinner({ min: 0, max: 59 }); + $(".spinners").spinner({ min: 0, max: 59 }); } function suppr(n){ Modified: jtimerhtml5/src/main/resources/html/report.html =================================================================== --- jtimerhtml5/src/main/resources/html/report.html 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/report.html 2013-05-24 15:59:41 UTC (rev 34) @@ -8,6 +8,27 @@ <link rel="stylesheet" href="js/jquery-ui/themes/base/jquery-ui.css"/> <script src="js/jquery.js"></script> <script src="js/jquery-ui/ui/jquery-ui.js"></script> + <script> + jQuery(function($){ + $.datepicker.regional['fr'] = { + closeText: 'Fermer', + prevText: 'Précédent', + nextText: 'Suivant', + currentText: 'Aujourd\'hui', + monthNames: ['Janvier','Février','Mars','Avril','Mai','Juin','Juillet','Août','Septembre','Octobre','Novembre','Décembre'], + monthNamesShort: ['Janv.','Févr.','Mars','Avril','Mai','Juin','Juil.','Août','Sept.','Oct.','Nov.','Déc.'], + dayNames: ['Dimanche','Lundi','Mardi','Mercredi','Jeudi','Vendredi','Samedi'], + dayNamesShort: ['Dim.','Lun.','Mar.','Mer.','Jeu.','Ven.','Sam.'], + dayNamesMin: ['D','L','M','M','J','V','S'], + weekHeader: 'Sem.', + dateFormat: 'dd/mm/yy', + firstDay: 1, + isRTL: false, + showMonthAfterYear: false, + yearSuffix: ''}; + $.datepicker.setDefaults($.datepicker.regional['fr']); + }); + </script> <script src="js/report.js"></script> </head> <body> @@ -39,7 +60,7 @@ </div> <div id="divRight"> - Report :<br> + Raport :<br> <span id="zoneTexteReport"><textarea id="textReport"></textarea></span> <footer> <span id="generReport"><img src="img/applications-system.png" alt="apply">Générer</span> @@ -49,7 +70,8 @@ <script> $(function() { $( ".datepicker" ).datepicker({ - dateFormat: "DD dd MM yy" + dateFormat: "DD dd MM yy", + regional: 'fr' }); }); </script> Modified: jtimerhtml5/src/main/resources/html/test.html =================================================================== --- jtimerhtml5/src/main/resources/html/test.html 2013-05-21 08:32:29 UTC (rev 33) +++ jtimerhtml5/src/main/resources/html/test.html 2013-05-24 15:59:41 UTC (rev 34) @@ -2,13 +2,92 @@ <html lang="fr"> <head> <meta charset="UTF-8"/> - <title>Test 1,2 Test</title> + <title>test</title> <link rel="stylesheet" href="js/jquery-ui/themes/base/jquery-ui.css"/> + <link rel="stylesheet" href="css/style.css"/> <link rel="stylesheet" href="css/jtimer.css"/> - <script src="js/jquery.js"></script> <!-- nuiton js --> + <script src="js/jquery.js"></script> <!--<script src="/nuiton-js/jquery.js"></script> --> <script src="js/jquery-ui/ui/jquery-ui.js"></script> + <script src="js/actionsMenus.js"></script> </head> <body> + <!-- Menu --> + <ul id="menu"> + <li><a href="#">Fichier</a> + <ul> + <li><a title="Quitter l'application" href="javascript:window.close()">Quitter</a></li> + </ul> + </li> + <li><a href="#">Project</a> + <ul> + <li><a title="Création d'un nouveau projet" href="javascript:newProject()">Nouveau Projet</a></li> + <li><a class="optionNotTask" title="Édition du projet" href="javascript:edProject()">Éditer le Projet</a></li> + <li><a class="optionNotTask" title="Ouvrir ou fermer le projet" href="javascript:ofProject()">Ouvrir/Fermer le Projet</a></li> + <li><a class="optionNotTask" title="Suppression du Projet" href="javascript:supprProject()">Supprimer le projet</a></li> + </ul> + </li> + <li><a href="#">Tâche</a> + <ul> + <li><a title="Création d'une nouvelle tâche" href="javascript:newTask()">Nouvelle tâche</a></li> + <li><a class="optionNotProject" title="Édition de la tâche" href="javascript:edTask()">Éditer la tâche</a></li> + <li><a class="optionNotProject" title="Ouvrir ou fermer la tâche" href="javascript:ofTask()">Ouvrir/Fermer la tâche</a></li> + <li><a class="optionNotProject" title="Suppression de la tâche" href="javascript:supprTask()">Supprimer la tâche</a></li> + + <li><a class="optionNotProject" title="Démarrage de la tâche" href="javascript:startTask()">Démarrer</a></li> + <li><a class="optionNotProject" title="Arrêt de la tâche" href="javascript:stopTask()">Arrêter</a></li> + + <li><a class="optionNotProject" title="Ajout d'une annotation" href="javascript:addAnnotation()">Ajouter une annotation</a></li> + <li><a class="optionNotProject" title="Édition des alertes" href="javascript:edAlerts()">Éditer les Alertes</a></li> + <li><a class="optionNotProject" title="Ajout de 1 minute à la tâche" href="javascript:addsou(1)">Ajouter 1 minute</a></li> + <li><a class="optionNotProject" title="Ajout de 5 minutes à la tâche" href="javascript:addsou(5)">Ajouter 5 minutes</a></li> + <li><a class="optionNotProject" title="Ajout de 30 minutes à la tâche" href="javascript:addsou(30)">Ajouter 30 minutes</a></li> + <li><a class="optionNotProject" title="Enlève 1 minute à la tâche" href="javascript:addsou(-1)">Enlever 1 minute</a></li> + <li><a class="optionNotProject" title="Enlève 5 minutes à la tâche" href="javascript:addsou(-5)">Enlever 5 minutes</a></li> + <li><a class="optionNotProject" title="Enlève 30 minutes à la tâche" href="javascript:addsou(-30)">Enlever 30 minutes</a></li> + <li><a class="optionNotProject" title="Remet la tâche à zero" href="javascript:zero()">Remettre à Zero</a></li> + <li><a class="optionNotProject" title="Fusionne les tâches sélectionnées" href="javascript:fusion()">Fusionner</a></li> + </ul> + </li> + <li><a href="#">Rapport</a> + <ul> + <li><a title="Création d'un rapport" href="javascript:report()">Rapport...</a></li> + </ul> + </li> + <li><a href="#">Options</a> + <ul> + <li><label><a title="Affiche les projets et tâches fermer" href="javascript:displayHidden()"><input type="checkbox">Afficher les cachés</a></label></li> + <li><label><a title="Réduit l'application dans le systray au lieu de le fermer" href="javascript:systray()"><input type="checkbox">Fermer vers le systray</a></label></li> + <li><a href="#">Rapport - Premier jour de la semaine</a> + <ul><form> + <li><label><a href="javascript:dStartWeek(1)"><input type="radio">Lundi</a></label></li> + <li><label><a href="javascript:dStartWeek(2)"><input type="radio">Mardi</a></label></li> + <li><label><a href="javascript:dStartWeek(3)"><input type="radio">Mercredi</a></label></li> + <li><label><a href="javascript:dStartWeek(4)"><input type="radio">Jeudi</a></label></li> + <li><label><a href="javascript:dStartWeek(5)"><input type="radio">Vendredi</a></label></li> + <li><label><a href="javascript:dStartWeek(6)"><input type="radio">Samedi</a></label></li> + <li><label><a href="javascript:dStartWeek(7)"><input type="radio">Dimanche</a></label></li> + </form></ul> + </li> + </ul> + </li> + <li><a href="#">Aide</a> + <ul> + <li><a title="À propos de jTimer" href="javascript:about()">À propos...</a></li> + </ul> + </li> + </ul> + <div class="buttons"> + <!-- Les boutons d'actions + Réflechir à la possibilité de n'avoire qu'un bouton pour démarré et stoper une tâche. --> + <a class="optionNotProject" id="startTask" title="Démarre la tâche sélectionnée" href="javascript:startTask()"></a> + <a class="optionNotProject" id="stopTask" title="Arrête la tâche sélectionnée" href="javascript:stopTask()"></a> + <a id="newProject" title="Création d'un nouveau Projet" href="javascript:newProject()"></a> + <a id="newTask" title="Création d'une nouvelle tâche" href="javascript:newTask()"></a> + + <a class="optionNotProject" id="note" title="Ajouter une annotation" href="javascript:addAnnotation()"></a> + <a class="optionNotProject" id="alert" title="Edition des Alerts" href="javascript:edAlerts()"></a> + </div> + <div id="tabTask"> <!-- Arborescence des Tasks --> <div id="head"> <span class="col">Projet et tâches</span> @@ -17,7 +96,7 @@ </div> <ul id="treeTasks"><li> <div class="selec" id="p1"> - <span class='col'>html5</span> + <span class='col'><span>▼</span>html5</span> <span class='col'>01:24:58</span> <span class='col'>13:25:32</span> </div> @@ -40,22 +119,49 @@ </li> <li> <div class="selec" id="p4"> - <span class='col'>New Project</span> + <span class='col'><span>►</span>New Project</span> <span class='col'>00:00:00</span> <span class='col'>00:00:00</span> </div> </li> </ul> - <script> - var elemSelec = "p1"; - $("#treeTasks").sortable(); - $(".subtask").sortable(); - $(".selec").click( function(){ - $("#"+elemSelec).css('background-color',''); - elemSelec = this.id; - $("#"+elemSelec).css('background-color','red'); - }); + </div> + <footer class="footer"> + <!-- footer à garder tel quel --> + <div id="frame"><span id="statutTasks">Inactif</span><span id="recapToday">Aujourd'hui : xx:xx:xx</span></div> + </footer> + + <!-- Réglage pour le menu --> + <script> + $("#menu").menu( { position: { using: positionnerSousMenu } }); + + function positionnerSousMenu(position, elements) { + var options = { + of: elements.target.element + }; + + if (elements.element.element.parent().parent().attr("id") === "menu") { + // le menu à positionner est de niveau 2 : + options.my = "center top"; + options.at = "right bottom"; + } + else + { + // le menu à positionner est de niveau > 2 + options.my = "left top"; + options.at = "right top"; + } + + elements.element.element.position(options); + }; - </script> + $("#menu > li > a > span.ui-icon-carat-1-e").removeClass("ui-icon-carat-1-e").addClass("ui-icon-carat-1-s"); + var elemSelec + $("#treeTasks").sortable(); + $(".subtask").sortable(); + disableOptions(); + </script> </body> </html> + +
participants (1)
-
qmoriceau@users.chorem.org