From e68348f6271fab591960902feebe167d01e15468 Mon Sep 17 00:00:00 2001 From: Maryana Rozhankivska Date: Thu, 27 Mar 2014 18:21:30 +0200 Subject: wallabag a link in wallabag now in default theme, issue #505 --- themes/default/js/saveLink.js | 101 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100755 themes/default/js/saveLink.js (limited to 'themes/default/js') diff --git a/themes/default/js/saveLink.js b/themes/default/js/saveLink.js new file mode 100755 index 00000000..ccc00d1e --- /dev/null +++ b/themes/default/js/saveLink.js @@ -0,0 +1,101 @@ +$.fn.ready(function() { + + var $bagit = $('#bagit'), + $bagitForm = $('#bagit-form'), + $bagitFormForm = $('#bagit-form-form'); + + /* ========================================================================== + bag it link and close button + ========================================================================== */ + + function toggleSaveLinkForm(url, event) { + $("#add-link-result").empty(); + + $bagit.toggleClass("active-current"); + + //only if bagiti link is not presented on page + if ( $bagit.length === 0 ) { + if ( event !== 'undefined' && event ) { + $bagitForm.css( {position:"absolute", top:event.pageY, left:event.pageX-200}); + } + else { + $bagitForm.css( {position:"relative", top:"auto", left:"auto"}); + } + } + + $bagitForm.toggle(); + $('#content').toggleClass("opacity03"); + if (url !== 'undefined' && url) { + $('#plainurl').val(url); + } + $('#plainurl').focus(); + } + + + $bagit.click(function(){ + $bagit.toggleClass("current"); + $("#bagit-arrow").toggleClass("arrow-down"); + toggleSaveLinkForm(); + }); + + $("#bagit-form-close").click(function(){ + $bagit.removeClass("current"); + $("#bagit-arrow").removeClass("arrow-down"); + toggleSaveLinkForm(); + }); + + + //send "bag it link" form request via ajax + $bagitFormForm.submit( function(event) { + $("body").css("cursor", "wait"); + $("#add-link-result").empty(); + + $.ajax({ + type: $bagitFormForm.attr('method'), + url: $bagitFormForm.attr('action'), + data: $bagitFormForm.serialize(), + success: function(data) { + $('#add-link-result').html("Done!"); + $('#plainurl').val(''); + $('#plainurl').blur(''); + $("body").css("cursor", "auto"); + //setTimeout( function() { toggleSaveLinkForm(); }, 1000); //close form after 1000 delay + }, + error: function(data) { + $('#add-link-result').html("Failed!"); + $("body").css("cursor", "auto"); + } + }); + + event.preventDefault(); + }); + + /* ========================================================================== + Keyboard gestion + ========================================================================== */ + + $(window).keydown(function(e){ + if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || e.keyCode == 27 ) { + $bagit.removeClass("current"); + $("#bagit-arrow").removeClass("arrow-down"); + toggleSaveLinkForm(); + return false; + } + }); + + /* ========================================================================== + Process all links inside an article + ========================================================================== */ + + $("article a[href^='http']").after(function() { + return " w "; + }); + + $(".add-to-wallabag-link-after").click(function(event){ + toggleSaveLinkForm($(this).attr('href'), event); + event.preventDefault(); + }); + +}); + + -- cgit v1.2.3