]> git.mxchange.org Git - friendica.git/commitdiff
frio: open hovercard on click if device is a mobile device
authorrabuzarus <>
Sat, 28 May 2016 11:07:24 +0000 (13:07 +0200)
committerrabuzarus <>
Sat, 28 May 2016 11:07:24 +0000 (13:07 +0200)
view/theme/frio/js/hovercard.js
view/theme/frio/theme.php

index 93c87e7a887ec953c14710a262fe6d2b82c607b5..a0def61eb537cd2fb4f40f436b8c19c892d4f206 100644 (file)
@@ -47,6 +47,14 @@ $(document).ready(function(){
                        var title = targetElement.attr("title");
                        targetElement.attr({"data-orig-title": title, title: ""});
 
+                       // if the device is a mobile open the hover card by click and not by hover
+                       if(typeof is_mobile != "undefined") {
+                                       targetElement[0].removeAttribute("href");
+                                       var hctrigger = 'click';
+                               } else {
+                                       var hctrigger = 'manual';
+                       };
+
                        // Timeoute until the hover-card does appear
                        setTimeout(function(){
                                if(targetElement.is(":hover") && parseInt(targetElement.attr('data-awaiting-hover-card'),10) == timeNow) {
@@ -69,7 +77,7 @@ $(document).ready(function(){
                                                                                }
                                                                                return "top";
                                                                        },
-                                                                       trigger: 'manual',
+                                                                       trigger: hctrigger,
                                                                        template: '<div class="popover hovercard" data-card-created="' + timeNow + '"><div class="arrow"></div><div class="popover-content hovercard-content"></div></div>',
                                                                        content: data
                                                                }).popover('show');
@@ -90,8 +98,12 @@ $(document).ready(function(){
 
        // hover cards should be removed very easily, e.g. when any of these events happen
        $('body').on("mouseleave touchstart scroll click dblclick mousedown mouseup submit keydown keypress keyup", function(e){
-               var timeNow = new Date().getTime();
-               removeAllhoverCards(e,timeNow);
+               // remove hover card only for desktiop user, since on mobile we openen the hovercards
+               // by click event insteadof hover
+               if(typeof is_mobile == "undefined") {
+                       var timeNow = new Date().getTime();
+                       removeAllhoverCards(e,timeNow);
+               };
        });
 
        // if we're hovering a hover card, give it a class, so we don't remove it
index c5c18d0aa2443b08bcde5a451a31e2a6568674b4..a7c3b0c5dc4f54548a00af96fdb3c565400ba8e6 100644 (file)
@@ -21,9 +21,16 @@ function frio_init(&$a) {
        $frio = "view/theme/frio";
 
        global $frio;
-       
-       
 
+       // if the device is a mobile device set js is_mobile
+       // variable so the js scripts can use this information
+       if($a->is_mobile || $a->is_tablet) {
+               $a->page["htmlhead"] .= <<< EOT
+                       <script>
+                               var is_mobile = 1;
+                       </script>
+EOT;
+                       }
 
        if ($style == "")
                $style = get_config('frio', 'style');