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