Built motion from commit 3e059bc2.|2.5.32
[motion2.git] / demo / api / index.html
1 <html>
2
3 <head>
4   <title>Jahia REST API JQuery examples</title>
5   <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/css/bootstrap-combined.min.css" rel="stylesheet">
6   <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
7   <script type="text/javascript" src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.1/js/bootstrap.min.js"></script>
8   <script type="text/javascript">
9     $(document).ready(function() {
10
11       var loggedIn = false;
12
13       $('form[name=loginForm]').submit(function() {
14         $.post($(this).attr('action'), $(this).serialize(), function(res) {
15           if (res == 'OK') {
16             loggedIn = true;
17             $("form[name=loginForm]").hide();
18             $("form[name=logoutForm]").show();
19             $("form[name=newNodeForm]").show()
20             refreshList();
21           } else {
22             alert("Couldn't log you in, please check the user name and password!")
23           }
24         });
25         return false; // prevent default action
26       });
27
28       $('form[name=logoutForm]').submit(function() {
29         $.post($(this).attr('action'), $(this).serialize(), function(res) {
30           loggedIn = false;
31           $("form[name=loginForm]").show();
32           $("form[name=logoutForm]").hide();
33           $("form[name=newNodeForm]").hide();
34           refreshList();
35         });
36         return false; // prevent default action
37       });
38
39       function refreshList() {
40         $("#contentList").html("Loading...");
41         $.ajax({
42           url: "/cms/render/live/en/sites/systemsite/contents.full.json?prettyPrint=true",
43           cache: false
44         }).done(function(json) {
45           var listNode = $("#contentList");
46           var listHTML = '<table class="table table-striped">';
47           listHTML += "<thead><tr><th>Node name</th><th>Type</th><th>Text</th></tr></thead>"
48           if (json.hasChildren) {
49             $.each(json.childNodes, function(index, data) {
50               listHTML += '<tr><td>' + data['j:nodename'] +
51                 '</td><td>' + data['jcr:primaryType'] +
52                 '</td><td>' + data['text'] + '</td></tr>';
53             });
54           }
55           listHTML += '</table>';
56           listNode.html(listHTML);
57         });
58       }
59
60       $('form[name=newNodeForm]').submit(function() {
61         $.post($(this).attr('action'), $(this).serialize(), function(res) {
62           alert('Content created successfully');
63           refreshList();
64         });
65         return false; // prevent default action
66       });
67
68     });
69   </script>
70 </head>
71
72 <body>
73
74   <form name='loginForm' action="/cms/login">
75     <fieldset>
76       <legend>Login</legend>
77       <label for="UserName">User name:</label>
78       <input id="UserName" type="text" name="username" />
79       <label for="UserName">User name:</label>
80       <input id="UserName" type="text" name="username" />
81       <label for="Password">Password:</label>
82       <input id="Password" type="password" name="password" />
83       <input type="hidden" name="redirectActive" value="false" />
84       <input type="hidden" name="restMode" value="false" />
85       <button class="btn btn-primary" type="submit">Login</button>
86     </fieldset>
87   </form>
88
89   <form name='logoutForm' action="/cms/logout" style="display:none">
90     <fieldset>
91       <legend>Logout</legend>
92       <input type="hidden" name="redirectActive" value="false" />
93       <input type="hidden" name="restMode" value="false" />
94       <button class="btn btn-primary" type="submit">Logout</button>
95     </fieldset>
96   </form>
97
98   <div id="contentList"></div>
99
100   <form name='newNodeForm' action='/cms/render/live/en/sites/systemsite/contents/*' style="display:none">
101     <fieldset>
102       <legend>New node</legend>
103       <label for="nodeText">Text:</label>
104       <input id="nodeText" type="text" name="text" placeholder="Enter your text here..." />
105       <label for="jcrNodeName">Node name:</label>
106       <input id="jcrNodeName" type="text" name="jcrNodeName" placeholder="Enter a node name here (optional)..." />
107       <input type="hidden" name="jcrNodeType" value="jnt:text" />
108       <input type="hidden" name="jcrReturnContentType" value="json" />
109       <button class="btn btn-primary" type="submit">Create</button>
110     </fieldset>
111   </form>
112
113 </body>
114
115 </html>