]> CyberLeo.Net >> Repos - Github/YOURLS.git/blob - js/insert.js
Save title in database
[Github/YOURLS.git] / js / insert.js
1 // Init some stuff\r
2 $(document).ready(function(){\r
3         $('#add-url, #add-keyword').keypress(function(e){\r
4                 if (e.which == 13) {add();}\r
5         });\r
6         reset_url();\r
7         $('#new_url_form').attr('action', 'javascript:add();');\r
8         \r
9         $('input.text').click(function(){\r
10                 $(this).select();\r
11         });     \r
12         \r
13 });\r
14 \r
15 // Create new link and add to table\r
16 function add() {\r
17         var newurl = $("#add-url").val();\r
18         if ( !newurl || newurl == 'http://' || newurl == 'https://' ) {\r
19                 return;\r
20         }\r
21         var keyword = $("#add-keyword").val();\r
22         add_loading("#add-button");\r
23         $.getJSON(\r
24                 "index_ajax.php",\r
25                 {mode:'add', url: newurl, keyword: keyword},\r
26                 function(data){\r
27                         if(data.status == 'success') {\r
28                                 $('#tblUrl tbody').prepend( data.html ).trigger("update");\r
29                                 $('.nourl_found').remove();\r
30                                 zebra_table();\r
31                                 reset_url();\r
32                                 increment();\r
33                         }\r
34                         \r
35                         $('#copylink').val( data.shorturl );\r
36                         $('#origlink').attr( 'href', data.url.url ).html( data.url.url );\r
37                         $('#statlink').attr( 'href', data.shorturl+'+' ).html( data.shorturl+'+' );\r
38                         var tweet = ( data.url.title ? data.url.title + ' ' + data.shorturl : data.shorturl );\r
39                         $('#tweet_body').val( tweet ).keypress();\r
40                         $('#shareboxes').slideDown();           \r
41 \r
42                         end_loading("#add-button");\r
43                         end_disable("#add-button");\r
44 \r
45                         feedback(data.message, data.status);\r
46                 }\r
47         );\r
48 }\r
49 \r
50 // Display the edition interface\r
51 function edit(id) {\r
52         add_loading('#actions-'+id+' .button');\r
53         var keyword = $('#keyword_'+id).val();\r
54         $.getJSON(\r
55                 "index_ajax.php",\r
56                 { mode: "edit_display", keyword: keyword },\r
57                 function(data){\r
58                         $("#id-" + id).after( data.html );\r
59                         $("#edit-url-"+ id).focus();\r
60                         end_loading('#actions-'+id+' .button');\r
61                 }\r
62         );\r
63 }\r
64 \r
65 // Delete a link\r
66 function remove(id) {\r
67         if (!confirm('Really delete?')) {\r
68                 return;\r
69         }\r
70         var keyword = $('#keyword_'+id).val();\r
71         $.getJSON(\r
72                 "index_ajax.php",\r
73                 { mode: "delete", keyword: keyword },\r
74                 function(data){\r
75                         if (data.success == 1) {\r
76                                 $("#id-" + id).fadeOut(function(){$(this).remove();zebra_table();});\r
77                                 decrement();\r
78                         } else {\r
79                                 alert('something wrong happened while deleting :/');\r
80                         }\r
81                 }\r
82         );\r
83 }\r
84 \r
85 // Redirect to stat page\r
86 function stats(link) {\r
87         window.location=link;\r
88 }\r
89 \r
90 // Cancel edition of a link\r
91 function hide_edit(id) {\r
92         $("#edit-" + id).fadeOut(200, function(){\r
93                 end_disable('#actions-'+id+' .button');\r
94         });\r
95 }\r
96 \r
97 // Save edition of a link\r
98 function edit_save(id) {\r
99         add_loading("#edit-close-" + id);\r
100         var newurl = $("#edit-url-" + id).val();\r
101         var newkeyword = $("#edit-keyword-" + id).val();\r
102         var title = $("#edit-title-" + id).val();\r
103         var keyword = $('#old_keyword_'+id).val();\r
104         var www = $('#yourls-site').val();\r
105         $.getJSON(\r
106                 "index_ajax.php",\r
107                 {mode:'edit_save', url: newurl, keyword: keyword, newkeyword: newkeyword, title: title },\r
108                 function(data){\r
109                         if(data.status == 'success') {\r
110                         \r
111                                 if( data.url.title != '' ) {\r
112                                         var display_link = '<a href="' + data.url.url + '" title="' + data.url.url + '">' + data.url.display_title + '</a><br/><small><a href="' + data.url.url + '">' + data.url.display_url + '</a></small>';\r
113                                 } else {\r
114                                         var display_link = '<a href="' + data.url.url + '" title="' + data.url.url + '">' + data.url.display_url + '</a>';\r
115                                 }\r
116 \r
117                                 $("#url-" + id).html(display_link);\r
118                                 $("#keyword-" + id).html('<a href="' + data.url.shorturl + '" title="' + data.url.shorturl + '">' + data.url.keyword + '</a>');\r
119                                 $("#timestamp-" + id).html(data.url.date);\r
120                                 $("#edit-" + id).fadeOut(200, function(){\r
121                                         $('#tblUrl tbody').trigger("update");\r
122                                 });\r
123                                 $('#keyword_'+id).val( newkeyword );\r
124                                 $('#statlink-'+id).attr( 'href', data.url.shorturl+'+' );\r
125                         }\r
126                         feedback(data.message, data.status);\r
127                         end_disable("#edit-close-" + id);\r
128                         end_loading("#edit-close-" + id);\r
129                         end_disable("#edit-button-" + id);\r
130                         end_disable("#delete-button-" + id);\r
131                 }\r
132         );\r
133 }\r
134 \r
135 // Prettify table with odd & even rows\r
136 function zebra_table() {\r
137         $("#tblUrl tbody tr:even").removeClass('odd').addClass('even');\r
138         $("#tblUrl tbody tr:odd").removeClass('even').addClass('odd');\r
139         $('#tblUrl tbody').trigger("update");\r
140 }\r
141 \r
142 // Ready to add another URL\r
143 function reset_url() {\r
144         $('#add-url').val('http://').focus();\r
145         $('#add-keyword').val('');\r
146 }\r
147 \r
148 // Increment URL counters\r
149 function increment() {\r
150         $('.increment').each(function(){\r
151                 $(this).html( parseInt($(this).html()) + 1);\r
152         });\r
153 }\r
154 \r
155 // Decrement URL counters\r
156 function decrement() {\r
157         $('.increment').each(function(){\r
158                 $(this).html( parseInt($(this).html()) - 1 );\r
159         });\r
160 }\r
161 \r