diff options
author | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2014-03-27 19:44:28 +0100 |
---|---|---|
committer | Nicolas LÅ“uillet <nicolas@loeuillet.org> | 2014-03-27 19:44:28 +0100 |
commit | 04fbe8f5efdf7fda0505c5aab9353d2cc61507ed (patch) | |
tree | 691934473700749cd12dfd07771dd90c3c58622e | |
parent | 9591ee2603dd107cd49b61957d0f71a652b7bea3 (diff) | |
parent | e68348f6271fab591960902feebe167d01e15468 (diff) | |
download | wallabag-04fbe8f5efdf7fda0505c5aab9353d2cc61507ed.tar.gz wallabag-04fbe8f5efdf7fda0505c5aab9353d2cc61507ed.tar.zst wallabag-04fbe8f5efdf7fda0505c5aab9353d2cc61507ed.zip |
Merge pull request #586 from mariroz/wb-link-in-wb
wallabag a link in wallabag now in default theme, issue #505
-rwxr-xr-x | themes/baggy/_head.twig | 1 | ||||
-rwxr-xr-x | themes/baggy/js/init.js | 80 | ||||
-rw-r--r-- | themes/default/_head.twig | 3 | ||||
-rw-r--r-- | themes/default/_menu.twig | 6 | ||||
-rwxr-xr-x | themes/default/_pocheit-form.twig | 26 | ||||
-rwxr-xr-x | themes/default/css/style.css | 47 | ||||
-rwxr-xr-x | themes/default/js/saveLink.js | 101 | ||||
-rw-r--r-- | themes/default/view.twig | 2 |
8 files changed, 163 insertions, 103 deletions
diff --git a/themes/baggy/_head.twig b/themes/baggy/_head.twig index 144bcaa6..acc9fa3d 100755 --- a/themes/baggy/_head.twig +++ b/themes/baggy/_head.twig | |||
@@ -11,4 +11,5 @@ | |||
11 | <script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/autoClose.js"></script> | 11 | <script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/autoClose.js"></script> |
12 | <script src="{{ poche_url }}/themes/{{theme}}/js/jquery.cookie.js"></script> | 12 | <script src="{{ poche_url }}/themes/{{theme}}/js/jquery.cookie.js"></script> |
13 | <script src="{{ poche_url }}/themes/{{theme}}/js/init.js"></script> | 13 | <script src="{{ poche_url }}/themes/{{theme}}/js/init.js"></script> |
14 | <script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/saveLink.js"></script> | ||
14 | <script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/closeMessage.js"></script> | 15 | <script src="{{ poche_url }}/themes/{{ constant('DEFAULT_THEME') }}/js/closeMessage.js"></script> |
diff --git a/themes/baggy/js/init.js b/themes/baggy/js/init.js index da644fbe..00470fbf 100755 --- a/themes/baggy/js/init.js +++ b/themes/baggy/js/init.js | |||
@@ -1,10 +1,7 @@ | |||
1 | $.fn.ready(function() { | 1 | $.fn.ready(function() { |
2 | 2 | ||
3 | var $listmode = $('#listmode'), | 3 | var $listmode = $('#listmode'), |
4 | $listentries = $("#list-entries"), | 4 | $listentries = $("#list-entries"); |
5 | $bagit = $('#bagit'), | ||
6 | $bagitForm = $('#bagit-form'); | ||
7 | $bagitFormForm = $('#bagit-form-form'); | ||
8 | 5 | ||
9 | /* ========================================================================== | 6 | /* ========================================================================== |
10 | Menu | 7 | Menu |
@@ -48,79 +45,4 @@ $.fn.ready(function() { | |||
48 | $listmode.addClass("tablemode"); | 45 | $listmode.addClass("tablemode"); |
49 | } | 46 | } |
50 | 47 | ||
51 | /* ========================================================================== | ||
52 | bag it link and close button | ||
53 | ========================================================================== */ | ||
54 | |||
55 | function toggleSaveLinkForm(url) { | ||
56 | $bagit.toggleClass("active-current"); | ||
57 | $bagitForm.toggle(); | ||
58 | $('#content').toggleClass("opacity03"); | ||
59 | if (url !== 'undefined' && url) { | ||
60 | $('#plainurl').val(url); | ||
61 | } | ||
62 | $('#plainurl').focus(); | ||
63 | } | ||
64 | |||
65 | $bagit.click(function(){ | ||
66 | toggleSaveLinkForm(); | ||
67 | }); | ||
68 | |||
69 | $("#bagit-form-close").click(function(){ | ||
70 | toggleSaveLinkForm(); | ||
71 | }); | ||
72 | |||
73 | |||
74 | //send "bag it link" form request via ajax | ||
75 | $bagitFormForm.submit( function(event) { | ||
76 | $bagitFormForm.css("cursor", "wait"); | ||
77 | $("#add-link-result").empty(); | ||
78 | |||
79 | $.ajax({ | ||
80 | type: $bagitFormForm.attr('method'), | ||
81 | url: $bagitFormForm.attr('action'), | ||
82 | data: $bagitFormForm.serialize(), | ||
83 | success: function(data) { | ||
84 | $('#add-link-result').html("Done!"); | ||
85 | $('#plainurl').val(''); | ||
86 | $('#plainurl').blur(''); | ||
87 | $bagitFormForm.css("cursor", "auto"); | ||
88 | //setTimeout( function() { toggleSaveLinkForm(); }, 1000); //close form after 1000 delay | ||
89 | }, | ||
90 | error: function(data) { | ||
91 | $('#add-link-result').html("Failed!"); | ||
92 | $bagitFormForm.css("cursor", "auto"); | ||
93 | } | ||
94 | }); | ||
95 | |||
96 | event.preventDefault(); | ||
97 | }); | ||
98 | |||
99 | /* ========================================================================== | ||
100 | Keyboard gestion | ||
101 | ========================================================================== */ | ||
102 | |||
103 | $(window).keydown(function(e){ | ||
104 | if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || e.keyCode == 27 ) { | ||
105 | toggleSaveLinkForm(); | ||
106 | return false; | ||
107 | } | ||
108 | }); | ||
109 | |||
110 | /* ========================================================================== | ||
111 | Process all links inside an article | ||
112 | ========================================================================== */ | ||
113 | |||
114 | $("article a[href^='http']").after(function() { | ||
115 | return " <a href=\"" + $(this).attr('href') + "\" class=\"add-to-wallabag-link-after\" alt=\"add to wallabag\" title=\"add to wallabag\">w</a> "; | ||
116 | }); | ||
117 | |||
118 | $(".add-to-wallabag-link-after").click(function(event){ | ||
119 | toggleSaveLinkForm($(this).attr('href')); | ||
120 | event.preventDefault(); | ||
121 | }); | ||
122 | |||
123 | |||
124 | |||
125 | |||
126 | }); | 48 | }); |
diff --git a/themes/default/_head.twig b/themes/default/_head.twig index f310e420..96a6ab33 100644 --- a/themes/default/_head.twig +++ b/themes/default/_head.twig | |||
@@ -9,4 +9,5 @@ | |||
9 | <link rel="stylesheet" href="{{ poche_url }}/themes/default/css/print.css" media="print"> | 9 | <link rel="stylesheet" href="{{ poche_url }}/themes/default/css/print.css" media="print"> |
10 | <script src="{{ poche_url }}/themes/default/js/jquery-2.0.3.min.js"></script> | 10 | <script src="{{ poche_url }}/themes/default/js/jquery-2.0.3.min.js"></script> |
11 | <script src="{{ poche_url }}/themes/default/js/autoClose.js"></script> | 11 | <script src="{{ poche_url }}/themes/default/js/autoClose.js"></script> |
12 | <script src="{{ poche_url }}/themes/default/js/closeMessage.js"></script> \ No newline at end of file | 12 | <script src="{{ poche_url }}/themes/default/js/closeMessage.js"></script> |
13 | <script src="{{ poche_url }}/themes/default/js/saveLink.js"></script> | ||
diff --git a/themes/default/_menu.twig b/themes/default/_menu.twig index 0e7dd0a7..0daa0b03 100644 --- a/themes/default/_menu.twig +++ b/themes/default/_menu.twig | |||
@@ -3,11 +3,11 @@ | |||
3 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> | 3 | <li><a href="./?view=fav" {% if view == 'fav' %}class="current"{% endif %}>{% trans "favorites" %}</a></li> |
4 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> | 4 | <li><a href="./?view=archive" {% if view == 'archive' %}class="current"{% endif %}>{% trans "archive" %}</a></li> |
5 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> | 5 | <li><a href="./?view=tags" {% if view == 'tags' %}class="current"{% endif %}>{% trans "tags" %}</a></li> |
6 | <li><a href="javascript: void(null);" id="pocheit">{% trans "save a link" %}</a><span id="pocheit-arrow"></span></li> | 6 | <li><a href="javascript: void(null);" id="bagit">{% trans "save a link" %}</a><span id="bagit-arrow"></span></li> |
7 | <li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li> | 7 | <li><a href="javascript: void(null);" id="search">{% trans "search" %}</a><span id="search-arrow"></span></li> |
8 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> | 8 | <li><a href="./?view=config" {% if view == 'config' %}class="current"{% endif %}>{% trans "config" %}</a></li> |
9 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> | 9 | <li><a href="./?logout" title="{% trans "logout" %}">{% trans "logout" %}</a></li> |
10 | </ul> | 10 | </ul> |
11 | {% include '_pocheit-form.twig' %} | 11 | {% include '_pocheit-form.twig' %} |
12 | {% include '_search-form.twig' %} | 12 | {% include '_search-form.twig' %} |
13 | 13 | ||
diff --git a/themes/default/_pocheit-form.twig b/themes/default/_pocheit-form.twig index 13096159..8c982db0 100755 --- a/themes/default/_pocheit-form.twig +++ b/themes/default/_pocheit-form.twig | |||
@@ -1,22 +1,8 @@ | |||
1 | <div id="pocheit-form" class="messages info"> | 1 | <div id="bagit-form" class="messages info"> |
2 | <center> | 2 | <a href="javascript: void(null);" id="bagit-form-close"> </a> |
3 | <form method="get" action="index.php"> | 3 | <form method="get" action="index.php" id="bagit-form-form"> |
4 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> | 4 | <input required placeholder="example.com/article" class="addurl" id="plainurl" name="plainurl" type="url" /> |
5 | <input type="submit" value="{% trans "save link!" %}" /> | 5 | <input type="submit" value="{% trans "save link!" %}" /> |
6 | <div id="add-link-result"></div> | ||
6 | </form> | 7 | </form> |
7 | </center> | ||
8 | </div> | 8 | </div> |
9 | <script type="text/javascript"> | ||
10 | $(document).ready(function() { | ||
11 | |||
12 | $("#pocheit-form").hide(); | ||
13 | |||
14 | $("#pocheit").click(function(){ | ||
15 | $("#pocheit-form").toggle(); | ||
16 | $("#pocheit").toggleClass("current"); | ||
17 | $("#pocheit-arrow").toggleClass("arrow-down"); | ||
18 | }); | ||
19 | |||
20 | |||
21 | }); | ||
22 | </script> | ||
diff --git a/themes/default/css/style.css b/themes/default/css/style.css index b3d300ed..e536ac6b 100755 --- a/themes/default/css/style.css +++ b/themes/default/css/style.css | |||
@@ -355,3 +355,50 @@ a.reading-time span { | |||
355 | vertical-align: top; | 355 | vertical-align: top; |
356 | } | 356 | } |
357 | 357 | ||
358 | |||
359 | /* ========================================================================== | ||
360 | "save a link" popup div related styles | ||
361 | ========================================================================== */ | ||
362 | |||
363 | #bagit-form { | ||
364 | display: none; | ||
365 | padding-left: 30px; | ||
366 | width: 450px; | ||
367 | |||
368 | } | ||
369 | |||
370 | a#bagit-form-close { | ||
371 | color: #FFF; | ||
372 | display: inline-block; | ||
373 | float: right; | ||
374 | background: url("../img/messages/close.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0); | ||
375 | height: 16px; | ||
376 | margin: -14px -8px 0 0; | ||
377 | width: 16px; | ||
378 | text-decoration: none; | ||
379 | } | ||
380 | |||
381 | |||
382 | .add-to-wallabag-link-after { | ||
383 | background-color: #000; | ||
384 | color: #fff; | ||
385 | padding: 0 4px 1px 3px; | ||
386 | font-weight: bold; | ||
387 | font-size: 0.7em; | ||
388 | border-radius: 4px; | ||
389 | } | ||
390 | .add-to-wallabag-link-after:hover, .add-to-wallabag-link-after:active { | ||
391 | color: #fff; | ||
392 | } | ||
393 | .add-to-wallabag-link-after:visited { | ||
394 | color: #999; | ||
395 | } | ||
396 | |||
397 | #add-link-result { | ||
398 | display: inline; | ||
399 | padding-left: 10px; | ||
400 | } | ||
401 | |||
402 | .opacity03 { | ||
403 | /*opacity: 0.3;*/ | ||
404 | } | ||
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 @@ | |||
1 | $.fn.ready(function() { | ||
2 | |||
3 | var $bagit = $('#bagit'), | ||
4 | $bagitForm = $('#bagit-form'), | ||
5 | $bagitFormForm = $('#bagit-form-form'); | ||
6 | |||
7 | /* ========================================================================== | ||
8 | bag it link and close button | ||
9 | ========================================================================== */ | ||
10 | |||
11 | function toggleSaveLinkForm(url, event) { | ||
12 | $("#add-link-result").empty(); | ||
13 | |||
14 | $bagit.toggleClass("active-current"); | ||
15 | |||
16 | //only if bagiti link is not presented on page | ||
17 | if ( $bagit.length === 0 ) { | ||
18 | if ( event !== 'undefined' && event ) { | ||
19 | $bagitForm.css( {position:"absolute", top:event.pageY, left:event.pageX-200}); | ||
20 | } | ||
21 | else { | ||
22 | $bagitForm.css( {position:"relative", top:"auto", left:"auto"}); | ||
23 | } | ||
24 | } | ||
25 | |||
26 | $bagitForm.toggle(); | ||
27 | $('#content').toggleClass("opacity03"); | ||
28 | if (url !== 'undefined' && url) { | ||
29 | $('#plainurl').val(url); | ||
30 | } | ||
31 | $('#plainurl').focus(); | ||
32 | } | ||
33 | |||
34 | |||
35 | $bagit.click(function(){ | ||
36 | $bagit.toggleClass("current"); | ||
37 | $("#bagit-arrow").toggleClass("arrow-down"); | ||
38 | toggleSaveLinkForm(); | ||
39 | }); | ||
40 | |||
41 | $("#bagit-form-close").click(function(){ | ||
42 | $bagit.removeClass("current"); | ||
43 | $("#bagit-arrow").removeClass("arrow-down"); | ||
44 | toggleSaveLinkForm(); | ||
45 | }); | ||
46 | |||
47 | |||
48 | //send "bag it link" form request via ajax | ||
49 | $bagitFormForm.submit( function(event) { | ||
50 | $("body").css("cursor", "wait"); | ||
51 | $("#add-link-result").empty(); | ||
52 | |||
53 | $.ajax({ | ||
54 | type: $bagitFormForm.attr('method'), | ||
55 | url: $bagitFormForm.attr('action'), | ||
56 | data: $bagitFormForm.serialize(), | ||
57 | success: function(data) { | ||
58 | $('#add-link-result').html("Done!"); | ||
59 | $('#plainurl').val(''); | ||
60 | $('#plainurl').blur(''); | ||
61 | $("body").css("cursor", "auto"); | ||
62 | //setTimeout( function() { toggleSaveLinkForm(); }, 1000); //close form after 1000 delay | ||
63 | }, | ||
64 | error: function(data) { | ||
65 | $('#add-link-result').html("Failed!"); | ||
66 | $("body").css("cursor", "auto"); | ||
67 | } | ||
68 | }); | ||
69 | |||
70 | event.preventDefault(); | ||
71 | }); | ||
72 | |||
73 | /* ========================================================================== | ||
74 | Keyboard gestion | ||
75 | ========================================================================== */ | ||
76 | |||
77 | $(window).keydown(function(e){ | ||
78 | if ( ( e.target.tagName.toLowerCase() !== 'input' && e.keyCode == 83 ) || e.keyCode == 27 ) { | ||
79 | $bagit.removeClass("current"); | ||
80 | $("#bagit-arrow").removeClass("arrow-down"); | ||
81 | toggleSaveLinkForm(); | ||
82 | return false; | ||
83 | } | ||
84 | }); | ||
85 | |||
86 | /* ========================================================================== | ||
87 | Process all links inside an article | ||
88 | ========================================================================== */ | ||
89 | |||
90 | $("article a[href^='http']").after(function() { | ||
91 | return " <a href=\"" + $(this).attr('href') + "\" class=\"add-to-wallabag-link-after\" alt=\"add to wallabag\" title=\"add to wallabag\">w</a> "; | ||
92 | }); | ||
93 | |||
94 | $(".add-to-wallabag-link-after").click(function(event){ | ||
95 | toggleSaveLinkForm($(this).attr('href'), event); | ||
96 | event.preventDefault(); | ||
97 | }); | ||
98 | |||
99 | }); | ||
100 | |||
101 | |||
diff --git a/themes/default/view.twig b/themes/default/view.twig index 916abe0d..2be0c33c 100644 --- a/themes/default/view.twig +++ b/themes/default/view.twig | |||
@@ -1,6 +1,7 @@ | |||
1 | {% extends "layout.twig" %} | 1 | {% extends "layout.twig" %} |
2 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} | 2 | {% block title %}{{ entry.title|raw }} ({{ entry.url | e | getDomain }}){% endblock %} |
3 | {% block content %} | 3 | {% block content %} |
4 | {% include '_pocheit-form.twig' %} | ||
4 | <div id="article_toolbar"> | 5 | <div id="article_toolbar"> |
5 | <ul> | 6 | <ul> |
6 | <li><a href="./" title="{% trans "Return home" %}" class="tool back"><span>{% trans "Return home" %}</span></a></li> | 7 | <li><a href="./" title="{% trans "Return home" %}" class="tool back"><span>{% trans "Return home" %}</span></a></li> |
@@ -55,3 +56,4 @@ | |||
55 | }); | 56 | }); |
56 | </script> | 57 | </script> |
57 | {% endblock %} | 58 | {% endblock %} |
59 | |||