server/src/main/webapp/WEB-INF/templates/projectIndex.html
author ymh <ymh.work@gmail.com>
Mon, 25 Mar 2013 19:27:26 +0100
changeset 123 daa99448319d
parent 99 1aa1cf8702e6
child 127 906fed13c1e1
permissions -rw-r--r--
first step for site administration
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
<!doctype html>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org" >
76
523f0647513e add the count of project by spaces, add pagination, update libraries and add some more unit tests.
ymh <ymh.work@gmail.com>
parents: 71
diff changeset
     3
    <head>
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
        <title>Renkan</title>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
        <meta charset="utf-8"/>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=0"/>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
        <link rel="shortcut icon" href="favicon.ico"/>
123
daa99448319d first step for site administration
ymh <ymh.work@gmail.com>
parents: 99
diff changeset
    11
        
daa99448319d first step for site administration
ymh <ymh.work@gmail.com>
parents: 99
diff changeset
    12
        <script th:remove="all" type="text/javascript" src="../../static/lib/jquery.min.js"></script>
daa99448319d first step for site administration
ymh <ymh.work@gmail.com>
parents: 99
diff changeset
    13
        <script th:remove="all" type="text/javascript" src="../../static/js/thymol.js"></script>         
daa99448319d first step for site administration
ymh <ymh.work@gmail.com>
parents: 99
diff changeset
    14
        
81
555a094e2000 Changed CSS
veltr
parents: 80
diff changeset
    15
        <script src="../../lib/jquery.min.js" th:src="@{/static/lib/jquery.min.js}" ></script>
555a094e2000 Changed CSS
veltr
parents: 80
diff changeset
    16
        <script src="../../lib/underscore-min.js" th:src="@{/static/lib/underscore-min.js}" ></script>
555a094e2000 Changed CSS
veltr
parents: 80
diff changeset
    17
        <script src="../../js/main.js" th:src="@{/static/js/main.js}" ></script>
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
97
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    19
        <link href="../../static/css/style.css" rel="stylesheet" th:href="@{/static/css/style.css}"/>
81
555a094e2000 Changed CSS
veltr
parents: 80
diff changeset
    20
        <link href="../../static/css/index.css" rel="stylesheet" th:href="@{/static/css/index.css}"/> 
76
523f0647513e add the count of project by spaces, add pagination, update libraries and add some more unit tests.
ymh <ymh.work@gmail.com>
parents: 71
diff changeset
    21
    </head>
523f0647513e add the count of project by spaces, add pagination, update libraries and add some more unit tests.
ymh <ymh.work@gmail.com>
parents: 71
diff changeset
    22
    <body>
97
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    23
      <div id="container">
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
        <div id="wrapper">
99
1aa1cf8702e6 Small version correction, replace <span> by <a>
ymh <ymh.work@gmail.com>
parents: 97
diff changeset
    25
        	<h1><a href="renkanIndex.html" th:href="@{'/'}" id="home-link" th:text="#{renkanIndex.renkan_space}">Renkan Space</a>: <span th:text="${space.title}">Titre</span></h1>
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
            <div id="inner">
87
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    27
                <div id="label" class="translate" th:text="#{renkanIndex.renkan_exp}">Create a Renkan</div> 
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
                <form action="#" onsubmit="go2Title();return false;"> 
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
                    <input type="text" id="renkantitle" autofocus="autofocus" x-webkit-speech="x-webkit-speech"/> 
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
                    <button type="submit">OK</button>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
                </form>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
            </div>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
            <h2 th:text="#{renkanIndex.project_list}">Project list</h2>
87
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    34
            <div th:include="fragment/paginationFragment :: paginationFragment" class="pagination-container">
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    35
                <div>               
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    36
                    <a href="#?p.page=1">&lt;&lt;</a>                    
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    37
                    <a href="#?p.page=3">&lt;</a>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    38
                    <span>...</span>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    39
                    <a href="#?p.page=2">2</a>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    40
                    <a href="#?p.page=3">3</a>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    41
                    <span>4</span>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    42
                    <a href="#?p.page=5">5</a>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    43
                    <a href="#?p.page=6">6</a>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    44
                    <span>...</span>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    45
                    <a href="#?p.page=5">&gt;</a>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    46
                    <a href="#?p.page=7">&gt;&gt;</a> 
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    47
                </div>
6c810f746837 Externalize properties
ymh <ymh.work@gmail.com>
parents: 86
diff changeset
    48
            </div>
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
            <table>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
              <thead>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
                <tr>
80
5295e118320b add link for publish
ymh <ymh.work@gmail.com>
parents: 76
diff changeset
    52
                    <th th:text="#{renkanIndex.project_name}">Name</th>
5295e118320b add link for publish
ymh <ymh.work@gmail.com>
parents: 76
diff changeset
    53
                    <th th:text="#{renkanIndex.project_creation}">Creation</th>
5295e118320b add link for publish
ymh <ymh.work@gmail.com>
parents: 76
diff changeset
    54
                    <th th:text="#{renkanIndex.project_edit}">Edit</th>
86
0fe9045d25b7 Add translation on delete message
ymh <ymh.work@gmail.com>
parents: 81
diff changeset
    55
                    <th th:text="#{renkanIndex.project_copy}">Copy</th>
0fe9045d25b7 Add translation on delete message
ymh <ymh.work@gmail.com>
parents: 81
diff changeset
    56
                    <th th:text="#{renkanIndex.project_delete}">Del.</th>
81
555a094e2000 Changed CSS
veltr
parents: 80
diff changeset
    57
                    <th th:text="#{renkanIndex.project_render}">View</th>
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
                </tr>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
              </thead>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
              <tbody>
76
523f0647513e add the count of project by spaces, add pagination, update libraries and add some more unit tests.
ymh <ymh.work@gmail.com>
parents: 71
diff changeset
    61
                <tr th:each="project: ${page}">
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
                  <th th:text="${project.title}">title</th>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
                  <td th:text="${#dates.format(project.created, #messages.msg('date.format'))}">date</td>
81
555a094e2000 Changed CSS
veltr
parents: 80
diff changeset
    64
                  <td><a href="#" th:href="@{'/p/'+${project.id}(cowebkey=${project.getKey(2)})}" th:text="#{renkanIndex.project_edit_link}">Edit project</a></td>
86
0fe9045d25b7 Add translation on delete message
ymh <ymh.work@gmail.com>
parents: 81
diff changeset
    65
                  <td><a href="#" th:text="#{renkanIndex.project_copy_link}" th:attr="data-project_id=${project.id}" class="copy_project">Copy project</a></td>
0fe9045d25b7 Add translation on delete message
ymh <ymh.work@gmail.com>
parents: 81
diff changeset
    66
                  <td><a href="#" th:text="#{renkanIndex.project_delete_link}" th:attr="data-project_id=${project.id},data-project_title=${project.title}" class="delete_project">Delete project</a></td>
81
555a094e2000 Changed CSS
veltr
parents: 80
diff changeset
    67
                  <td><a href="#" th:href="@{'/p/pub/'+${project.id}(cowebkey=${project.getKey(1)})}" th:text="#{renkanIndex.project_render_link}">View project</a></td>
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
                </tr>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
              </tbody>
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
            </table>            
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
        </div>
97
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    72
        <div id="footer" th:include="fragment/pageFragment :: footerFragment">
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    73
            <div id="version">© <span class="version-date">2013</span> <a href="http://www.iri.centrepompidou.fr" target="_blanck">IRI</a> - Version <span class="version-version">0.0</span></div>
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    74
        </div>        
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    75
      </div>
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    76
      <script th:inline="javascript" >
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    77
      /*<![CDATA[*/
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    78
    
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    79
          function go2Title()
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    80
          {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    81
              var renkantitle = $("#renkantitle").val();
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    82
              if(renkantitle.length == 0) {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    83
              	var alert_message = /*[[#{renkanIndex.js.empty_name_error}]]*/"Please enter a title"; 
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    84
              	alert(alert_message);
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    85
              	return false;
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    86
              }
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    87
              
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    88
              new_renkan = {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    89
              	title: renkantitle,
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    90
              	description: "(empty description)",                	
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    91
              	uri: null,
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    92
              	space_id: /*[[${space.id}]]*/"_",
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    93
              };
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    94
              
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    95
              var post_url = /*[[@{/rest/projects/}]]*/"/rest/projects/"; 
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    96
              $.ajax(post_url, {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    97
                  data:JSON.stringify(new_renkan),
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    98
                  type: "POST",
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    99
                  dataType: "json",
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   100
                  contentType: "application/json; charset=UTF-8"                    
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   101
              }).done(function(project){
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   102
              	window.location.reload();
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   103
              });
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   104
              
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   105
          }
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
      
97
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   107
      function copyProject(project_id)
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   108
      {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   109
      	var post_url = /*[[@{/p/copy}]]*/"#";
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   110
          $.post(post_url, {"project_id": project_id})
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   111
              .done(function(p){
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   112
                  window.location.reload();
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   113
          });
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   114
      }
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   115
      
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   116
      function deleteProject(project_id, project_title)
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   117
      {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   118
      	var message = /*[[#{renkanIndex.project_delete_confirm}]]*/"Delete project \"<%= title %>\"";
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   119
      	if(confirm(_.template(message, {title: project_title}))) {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   120
              var delete_url = /*[[@{/rest/projects}]]*/"#";
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   121
              $.ajax(delete_url+"/"+project_id, {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   122
                  type: "DELETE"	
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   123
              }).done(function(){
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   124
              	window.location.reload();
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   125
              });
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   126
      	}
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   127
      }
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   128
      
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   129
      $(function(){
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   130
      	$(".copy_project").click(function(event) {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   131
      		copyProject($(event.target).data("project_id"));
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   132
      	});
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   133
          $(".delete_project").click(function(event) {
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   134
              deleteProject($(event.target).data("project_id"), $(event.target).data("project_title"));
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   135
          });
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   136
      });
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   137
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   138
      /*]]>*/
f7d611f50e58 add version str + improver css + new version
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
   139
      </script>
76
523f0647513e add the count of project by spaces, add pagination, update libraries and add some more unit tests.
ymh <ymh.work@gmail.com>
parents: 71
diff changeset
   140
    </body>
71
9af0874ce43f First version of space level.
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
</html>