Framework7 - Convert Action Sheet To Popover


Advertisements

Description

Popover could not be used on phones (iPhones) and Action Sheet on tablets, so you can use extended ActionSheet syntax, which will convert Action Sheet to popover automatically on tablets. You can make use of methods as shown below −

  • myApp.actions(target, groups) − It is used to create and open Action Sheet (or popover on tablets) with defined number of buttons groups.

  • Or

  • myApp.actions(target, buttons) − It is used to create and open Action Sheet (or popover on tablets) with a group and buttons.

    • target − It is a HTMLElement or string (with CSS Selector) of target element. It is a required parameter.

    • groups − It is an array of groups where each group has an array of buttons.

    • buttons − It is an array of buttons wherein there will be one group.

Example

The following example demonstrates how to convert Action Sheet to Popover in the Framework7, which converts the action sheet to popover when you click on the link −

<!DOCTYPE html>
<html>

   <head>
      <meta name = "viewport" content = "width = device-width, initial-scale = 1, 
         maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
      <meta name = "apple-mobile-web-app-capable" content = "yes" />
      <meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
      <title>Convert Action Sheet to Popover</title>
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
      <link rel = "stylesheet" 
         href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
   </head>

   <body>
      <div class = "views">
         <div class = "view view-main">
            <div class = "pages">
               <div data-page = "home" class = "page navbar-fixed">
               
                  <div class = "navbar">
                     <div class = "navbar-inner">
                        <div class = "left"> </div>
                        <div class = "center">Action Sheet</div>
                        <div class = "right"> </div>
                     </div>
                  </div>
                  
                  <div class = "page-content">
                     <div class = "content-block">
                        <p><a href = "#" class = "ac-1">Convert Action Sheet to Popover</a></p>
                     </div>
                  </div>
                  
               </div>
            </div>
         </div>
      </div>
      
      <script type = "text/javascript" 
         src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
         
      <script>
         var myApp = new Framework7();

         var $$ = Dom7;

         $$('.ac-1').on('click', function (e) {
            var target = this;
            var buttons = [
               {
                  text: 'Button 1'
               },
               {
                  text: 'Button 2'
               }
            ];
            myApp.actions(target, buttons);
         });

      </script>
   </body>

</html>

Output

Let us carry out the following steps to see how the above given code works −

  • Save the above given HTML code as actionsheet_convert_to_popover.html file in your server root folder.

  • Open this HTML file as http://localhost/actionsheet_convert_to_popover.html and the output is displayed as shown below.

  • Click on the option to convert the action sheet to popover automatically on tablets. When clicked, a window opens with two options as shown below.

framework7_overlays.htm
Advertisements