aboutsummaryrefslogtreecommitdiffhomepage
path: root/themes/baggy/js/init.js
blob: da644fbe8663fe16cc4842431122a224ef18da4c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
$.fn.ready(function() {

  var $listmode = $('#listmode'),
      $listentries = $("#list-entries"),
      $bagit = $('#bagit'),
      $bagitForm = $('#bagit-form');
      $bagitFormForm = $('#bagit-form-form');

  /* ==========================================================================
     Menu
     ========================================================================== */

  $("#menu").click(function(){
    $("#links").toggle();
  });

  /* ==========================================================================
     List mode or Table Mode
     ========================================================================== */

  $listmode.click(function(){
    if ( $.cookie("listmode") == 1 ) {
      // Cookie
      $.removeCookie("listmode");

      $listentries.removeClass("listmode");
      $listmode.removeClass("tablemode");
      $listmode.addClass("listmode");
    }
    else {
      // Cookie
      $.cookie("listmode", 1, {expires: 365});

      $listentries.addClass("listmode");
      $listmode.removeClass("listmode");
      $listmode.addClass("tablemode");
    }

  });

  /* ==========================================================================
     Cookie listmode
     ========================================================================== */

  if ( $.cookie("listmode") == 1 ) {
    $listentries.addClass("listmode");
    $listmode.removeClass("listmode");
    $listmode.addClass("tablemode");
  }

  /* ==========================================================================
    bag it link and close button
    ========================================================================== */

  function toggleSaveLinkForm(url) {
    $bagit.toggleClass("active-current");
    $bagitForm.toggle();
    $('#content').toggleClass("opacity03");
    if (url !== 'undefined' && url) {
      $('#plainurl').val(url);
    }
    $('#plainurl').focus();
  }

  $bagit.click(function(){
    toggleSaveLinkForm();
  });

  $("#bagit-form-close").click(function(){
    toggleSaveLinkForm();
  });


  //send "bag it link" form request via ajax
  $bagitFormForm.submit( function(event) {
    $bagitFormForm.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('');
          $bagitFormForm.css("cursor", "auto");
          //setTimeout( function() { toggleSaveLinkForm(); }, 1000); //close form after 1000 delay
        },
        error: function(data) {
          $('#add-link-result').html("Failed!");
          $bagitFormForm.css("cursor", "auto");
        }
    });

    event.preventDefault();
  });

  /* ==========================================================================
    Keyboard gestion
    ========================================================================== */

  $(window).keydown(function(e){
    if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || e.keyCode == 27 ) {
      toggleSaveLinkForm();
      return false;
    }
  });

  /* ==========================================================================
  Process all links inside an article
  ========================================================================== */

  $("article a[href^='http']").after(function() {
        return " <a href=\"" + $(this).attr('href') + "\" class=\"add-to-wallabag-link-after\" alt=\"add to wallabag\" title=\"add to wallabag\">w</a> ";
  });

  $(".add-to-wallabag-link-after").click(function(event){
    toggleSaveLinkForm($(this).attr('href'));
    event.preventDefault();
  });




});