5 var publish = function() {
6 var a
= this, li
= a
.getParent();
7 var url
= base_url
+ 'comments/status';
8 var id
= a
.getParent('li[data-id]').get('data-id');
13 'data': {'id': id
, 'status': 'published'},
14 'onRequest': function() {
15 li
.setStyle('opacity', 0.5);
16 a
.removeEvent('click', publish
);
18 'onSuccess': function() {
20 $$('[data-status=' + id
+ ']').set('html', 'Published');
27 var edit = function() {
29 var url
= base_url
+ 'comments/update';
30 var id
= a
.getParent('li[data-id]').get('data-id');
31 var text
= $$('[data-text=' + id
+ ']').get('html');
32 var status
= $$('[data-status=' + id
+ ']').get('html');
34 var html
= '<fieldset><legend>Edit Comment</legend><em>Update the comment text here.</em>';
35 html
+='<p><label>Text</label><textarea name="comment_text">' + text
+ '</textarea></p>';
36 html
+='<p><label>Status</label><select name="comment_status">';
38 html
+= '<option value="published"' + (status
== 'published' ? ' selected' : '') + '>Published</option>';
39 html
+= '<option value="pending"' + (status
== 'pending' ? ' selected' : '') + '>Pending</option>';
40 html
+= '<option value="spam"' + (status
== 'spam' ? ' selected' : '') + '>Spam</option>';
42 html
+= '</select></p>';
43 html
+= '</fieldset>';
44 html
+='<p class="buttons"><button name="update" type="button">Update</button> <a href="#close">Close</a></p>';
46 var content
= new Element('div', {
47 'class': 'popup_wrapper',
56 $$('button[name=update]').addEvent('click', function() {
59 $$('a[href$=#close]').addEvent('click', function() {
67 var update = function(id
) {
68 var url
= base_url
+ 'comments/update',
69 comment_text_input
= $$('textarea[name=comment_text]').pop(),
70 comment_status_input
= $$('select[name=comment_status]').pop();
73 var text
= comment_text_input
.get('value'),
74 status
= comment_status_input
.get('value');
77 var comment_text_output
= $$('[data-text=' + id
+ ']').pop(),
78 comment_status_output
= $$('[data-status=' + id
+ ']').pop(),
79 li
= $$('li[data-id=' + id
+ ']').pop();
84 'data': {'id': id
, 'text': text
, 'status': status
},
85 'onRequest': function() {
86 li
.setStyle('opacity', 0.5);
88 'onSuccess': function() {
89 li
.setStyle('opacity', 1);
90 comment_text_output
.set('html', text
);
91 comment_status_output
.set('html', status
);
93 // get publish button if it exists
94 var btn
= li
.getElement('a[href$=#publish]');
96 // hide publish button
98 if(status
== 'published') {
102 if(status
== 'pending') {
103 var ul
= li
.getElement('ul');
104 btn
= new Element('li');
105 btn
.grab(new Element('a', {
121 var remove = function() {
122 var a
= this, li
= a
.getParent('li[data-id]');
123 var url
= base_url
+ 'comments/remove';
124 var id
= li
.get('data-id');
130 'onRequest': function() {
131 li
.setStyle('opacity', 0.5);
133 'onSuccess': function() {
142 $$('#comments a[href$=publish]').addEvent('click', publish
);
143 $$('#comments a[href$=edit]').addEvent('click', edit
);
144 $$('#comments a[href$=delete]').addEvent('click', remove
);