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