2 $(document).ready(function(){
\r
3 $('#add-url, #add-keyword').keypress(function(e){
\r
4 if (e.which == 13) {add();}
\r
7 $('#new_url_form').attr('action', 'javascript:add();');
\r
9 $('input.text').click(function(){
\r
15 // Create new link and add to table
\r
17 var newurl = $("#add-url").val();
\r
18 if ( !newurl || newurl == 'http://' || newurl == 'https://' ) {
\r
21 var keyword = $("#add-keyword").val();
\r
22 add_loading("#add-button");
\r
25 {mode:'add', url: newurl, keyword: keyword},
\r
27 if(data.status == 'success') {
\r
28 $('#tblUrl tbody').prepend( data.html ).trigger("update");
\r
29 $('.nourl_found').remove();
\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
43 end_loading("#add-button");
\r
44 end_disable("#add-button");
\r
46 feedback(data.message, data.status);
\r
51 // Display the edition interface
\r
53 add_loading('#actions-'+id+' .button');
\r
54 var keyword = $('#keyword_'+id).val();
\r
57 { mode: "edit_display", keyword: keyword },
\r
59 $("#id-" + id).after( data.html );
\r
60 $("#edit-url-"+ id).focus();
\r
61 end_loading('#actions-'+id+' .button');
\r
67 function remove(id) {
\r
68 if (!confirm('Really delete?')) {
\r
71 var keyword = $('#keyword_'+id).val();
\r
74 { mode: "delete", keyword: keyword },
\r
76 if (data.success == 1) {
\r
77 $("#id-" + id).fadeOut(function(){$(this).remove();zebra_table();});
\r
80 alert('something wrong happened while deleting :/');
\r
86 // Redirect to stat page
\r
87 function stats(link) {
\r
88 window.location=link;
\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
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
108 {mode:'edit_save', url: newurl, keyword: keyword, newkeyword: newkeyword, title: title },
\r
110 if(data.status == 'success') {
\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
115 var display_link = '<a href="' + data.url.url + '" title="' + data.url.url + '">' + data.url.display_url + '</a>';
\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
124 $('#keyword_'+id).val( newkeyword );
\r
125 $('#statlink-'+id).attr( 'href', data.url.shorturl+'+' );
\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
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
143 // Ready to add another URL
\r
144 function reset_url() {
\r
145 $('#add-url').val('http://').focus();
\r
146 $('#add-keyword').val('');
\r
149 // Increment URL counters
\r
150 function increment() {
\r
151 $('.increment').each(function(){
\r
152 $(this).html( parseInt($(this).html()) + 1);
\r
156 // Decrement URL counters
\r
157 function decrement() {
\r
158 $('.increment').each(function(){
\r
159 $(this).html( parseInt($(this).html()) - 1 );
\r