]> CyberLeo.Net >> Repos - Github/YOURLS.git/blob - js/insert.js
Fix refreshing of Facebook share URL
[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                         init_clipboard();\r
42 \r
43                         end_loading("#add-button");\r
44                         end_disable("#add-button");\r
45 \r
46                         feedback(data.message, data.status);\r
47                 }\r
48         );\r
49 }\r
50 \r
51 // Display the edition interface\r
52 function edit(id) {\r
53         add_loading('#actions-'+id+' .button');\r
54         var keyword = $('#keyword_'+id).val();\r
55         $.getJSON(\r
56                 "index_ajax.php",\r
57                 { mode: "edit_display", keyword: keyword },\r
58                 function(data){\r
59                         $("#id-" + id).after( data.html );\r
60                         $("#edit-url-"+ id).focus();\r
61                         end_loading('#actions-'+id+' .button');\r
62                 }\r
63         );\r
64 }\r
65 \r
66 // Delete a link\r
67 function remove(id) {\r
68         if (!confirm('Really delete?')) {\r
69                 return;\r
70         }\r
71         var keyword = $('#keyword_'+id).val();\r
72         $.getJSON(\r
73                 "index_ajax.php",\r
74                 { mode: "delete", keyword: keyword },\r
75                 function(data){\r
76                         if (data.success == 1) {\r
77                                 $("#id-" + id).fadeOut(function(){$(this).remove();zebra_table();});\r
78                                 decrement();\r
79                         } else {\r
80                                 alert('something wrong happened while deleting :/');\r
81                         }\r
82                 }\r
83         );\r
84 }\r
85 \r
86 // Redirect to stat page\r
87 function stats(link) {\r
88         window.location=link;\r
89 }\r
90 \r
91 // Cancel edition of a link\r
92 function hide_edit(id) {\r
93         $("#edit-" + id).fadeOut(200, function(){\r
94                 end_disable('#actions-'+id+' .button');\r
95         });\r
96 }\r
97 \r
98 // Save edition of a link\r
99 function edit_save(id) {\r
100         add_loading("#edit-close-" + id);\r
101         var newurl = $("#edit-url-" + id).val();\r
102         var newkeyword = $("#edit-keyword-" + id).val();\r
103         var title = $("#edit-title-" + id).val();\r
104         var keyword = $('#old_keyword_'+id).val();\r
105         var www = $('#yourls-site').val();\r
106         $.getJSON(\r
107                 "index_ajax.php",\r
108                 {mode:'edit_save', url: newurl, keyword: keyword, newkeyword: newkeyword, title: title },\r
109                 function(data){\r
110                         if(data.status == 'success') {\r
111                         \r
112                                 if( data.url.title != '' ) {\r
113                                         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
114                                 } else {\r
115                                         var display_link = '<a href="' + data.url.url + '" title="' + data.url.url + '">' + data.url.display_url + '</a>';\r
116                                 }\r
117 \r
118                                 $("#url-" + id).html(display_link);\r
119                                 $("#keyword-" + id).html('<a href="' + data.url.shorturl + '" title="' + data.url.shorturl + '">' + data.url.keyword + '</a>');\r
120                                 $("#timestamp-" + id).html(data.url.date);\r
121                                 $("#edit-" + id).fadeOut(200, function(){\r
122                                         $('#tblUrl tbody').trigger("update");\r
123                                 });\r
124                                 $('#keyword_'+id).val( newkeyword );\r
125                                 $('#statlink-'+id).attr( 'href', data.url.shorturl+'+' );\r
126                         }\r
127                         feedback(data.message, data.status);\r
128                         end_disable("#edit-close-" + id);\r
129                         end_loading("#edit-close-" + id);\r
130                         end_disable("#edit-button-" + id);\r
131                         end_disable("#delete-button-" + id);\r
132                 }\r
133         );\r
134 }\r
135 \r
136 // Prettify table with odd & even rows\r
137 function zebra_table() {\r
138         $("#tblUrl tbody tr:even").removeClass('odd').addClass('even');\r
139         $("#tblUrl tbody tr:odd").removeClass('even').addClass('odd');\r
140         $('#tblUrl tbody').trigger("update");\r
141 }\r
142 \r
143 // Ready to add another URL\r
144 function reset_url() {\r
145         $('#add-url').val('http://').focus();\r
146         $('#add-keyword').val('');\r
147 }\r
148 \r
149 // Increment URL counters\r
150 function increment() {\r
151         $('.increment').each(function(){\r
152                 $(this).html( parseInt($(this).html()) + 1);\r
153         });\r
154 }\r
155 \r
156 // Decrement URL counters\r
157 function decrement() {\r
158         $('.increment').each(function(){\r
159                 $(this).html( parseInt($(this).html()) - 1 );\r
160         });\r
161 }\r
162 \r