diff options
author | ArthurHoaro <arthur@hoa.ro> | 2015-12-13 20:44:22 +0100 |
---|---|---|
committer | ArthurHoaro <arthur@hoa.ro> | 2015-12-21 14:01:52 +0100 |
commit | 28a4fc546fd937ba4aef89e2a70bf3e1ae1508d3 (patch) | |
tree | a0b3c198f1af5d28d4f8192a958bd1bf6fb7bb0b /plugins/qrcode | |
parent | 79851b489087f8a3027ecd805255cd13ee6fcf63 (diff) | |
download | Shaarli-28a4fc546fd937ba4aef89e2a70bf3e1ae1508d3.tar.gz Shaarli-28a4fc546fd937ba4aef89e2a70bf3e1ae1508d3.tar.zst Shaarli-28a4fc546fd937ba4aef89e2a70bf3e1ae1508d3.zip |
Fixes QRCode style
* fixes a regression misplacing QRCode popup.
* adds a 'show' class in JS to handle CSS transition.
Diffstat (limited to 'plugins/qrcode')
-rwxr-xr-x | plugins/qrcode/qrcode.css | 23 | ||||
-rw-r--r-- | plugins/qrcode/qrcode.html | 8 | ||||
-rw-r--r-- | plugins/qrcode/qrcode.php | 16 | ||||
-rw-r--r-- | plugins/qrcode/shaarli-qrcode.js | 10 |
4 files changed, 52 insertions, 5 deletions
diff --git a/plugins/qrcode/qrcode.css b/plugins/qrcode/qrcode.css new file mode 100755 index 00000000..0d514a0e --- /dev/null +++ b/plugins/qrcode/qrcode.css | |||
@@ -0,0 +1,23 @@ | |||
1 | .linkqrcode { | ||
2 | display: inline; | ||
3 | position: relative; | ||
4 | } | ||
5 | |||
6 | #permalinkQrcode { | ||
7 | position: absolute; | ||
8 | z-index: 200; | ||
9 | padding: 20px; | ||
10 | width: 220px; | ||
11 | height: 220px; | ||
12 | background-color: #ffffff; | ||
13 | border: 1px solid black; | ||
14 | top: -110px; | ||
15 | left: -110px; | ||
16 | text-align: center; | ||
17 | font-size: 8pt; | ||
18 | box-shadow: 2px 2px 20px 2px #333333; | ||
19 | } | ||
20 | |||
21 | #permalinkQrcode img { | ||
22 | margin-bottom: 5px; | ||
23 | } | ||
diff --git a/plugins/qrcode/qrcode.html b/plugins/qrcode/qrcode.html index 58ac5007..ffdaf3b8 100644 --- a/plugins/qrcode/qrcode.html +++ b/plugins/qrcode/qrcode.html | |||
@@ -1,3 +1,5 @@ | |||
1 | <a href="http://qrfree.kaywa.com/?l=1&s=8&d=%s" onclick="showQrCode(this); return false;" class="qrcode" data-permalink="%s"> | 1 | <div class="linkqrcode"> |
2 | <img src="%s/qrcode/qrcode.png" width="13" height="13" title="QR-Code"> | 2 | <a href="http://qrfree.kaywa.com/?l=1&s=8&d=%s" onclick="showQrCode(this); return false;" class="qrcode" data-permalink="%s"> |
3 | </a> | 3 | <img src="%s/qrcode/qrcode.png" width="13" height="13" title="QR-Code"> |
4 | </a> | ||
5 | </div> | ||
diff --git a/plugins/qrcode/qrcode.php b/plugins/qrcode/qrcode.php index 5f6e76a2..a709abaa 100644 --- a/plugins/qrcode/qrcode.php +++ b/plugins/qrcode/qrcode.php | |||
@@ -39,3 +39,19 @@ function hook_qrcode_render_footer($data) | |||
39 | 39 | ||
40 | return $data; | 40 | return $data; |
41 | } | 41 | } |
42 | |||
43 | /** | ||
44 | * When linklist is displayed, include qrcode CSS file. | ||
45 | * | ||
46 | * @param array $data - header data. | ||
47 | * | ||
48 | * @return mixed - header data with qrcode CSS file added. | ||
49 | */ | ||
50 | function hook_qrcode_render_includes($data) | ||
51 | { | ||
52 | if ($data['_PAGE_'] == Router::$PAGE_LINKLIST) { | ||
53 | $data['css_files'][] = PluginManager::$PLUGINS_PATH . '/qrcode/qrcode.css'; | ||
54 | } | ||
55 | |||
56 | return $data; | ||
57 | } | ||
diff --git a/plugins/qrcode/shaarli-qrcode.js b/plugins/qrcode/shaarli-qrcode.js index 0a8de21d..615f54c7 100644 --- a/plugins/qrcode/shaarli-qrcode.js +++ b/plugins/qrcode/shaarli-qrcode.js | |||
@@ -19,7 +19,7 @@ function showQrCode(caller,loading) | |||
19 | 19 | ||
20 | // Build the div which contains the QR-Code: | 20 | // Build the div which contains the QR-Code: |
21 | var element = document.createElement('div'); | 21 | var element = document.createElement('div'); |
22 | element.id="permalinkQrcode"; | 22 | element.id = 'permalinkQrcode'; |
23 | 23 | ||
24 | // Make QR-Code div commit sepuku when clicked: | 24 | // Make QR-Code div commit sepuku when clicked: |
25 | if ( element.attachEvent ){ | 25 | if ( element.attachEvent ){ |
@@ -37,6 +37,12 @@ function showQrCode(caller,loading) | |||
37 | element.appendChild(image); | 37 | element.appendChild(image); |
38 | element.innerHTML += "<br>Click to close"; | 38 | element.innerHTML += "<br>Click to close"; |
39 | caller.parentNode.appendChild(element); | 39 | caller.parentNode.appendChild(element); |
40 | |||
41 | // Show the QRCode | ||
42 | qrcodeImage = document.getElementById('permalinkQrcode'); | ||
43 | // Workaround to deal with newly created element lag for transition. | ||
44 | window.getComputedStyle(qrcodeImage).opacity; | ||
45 | qrcodeImage.className = 'show'; | ||
40 | } | 46 | } |
41 | else | 47 | else |
42 | { | 48 | { |
@@ -48,7 +54,7 @@ function showQrCode(caller,loading) | |||
48 | // Remove any displayed QR-Code | 54 | // Remove any displayed QR-Code |
49 | function removeQrcode() | 55 | function removeQrcode() |
50 | { | 56 | { |
51 | var elem = document.getElementById("permalinkQrcode"); | 57 | var elem = document.getElementById('permalinkQrcode'); |
52 | if (elem) { | 58 | if (elem) { |
53 | elem.parentNode.removeChild(elem); | 59 | elem.parentNode.removeChild(elem); |
54 | } | 60 | } |