Framework7 - Prompt Modal

Descrição

O modal Prompt permite que os usuários realizem algumas ações no conteúdo exibido. Ele usa os seguintes métodos -

myApp.prompt(text, [title, callbackOk, callbackCancel])

Ou

myApp.prompt(text, [callbackOk, callbackCancel])

Os métodos acima aceitam os parâmetros listados abaixo -

  • text - Exibe o prompt modal com o texto.

  • title - É um método opcional que exibe o modal do prompt com o título.

  • callbackOk - É um método opcional, que fornece a função de retorno de chamada que é executada quando o botão "OK" é clicado pelo usuário no modal prompt.

  • callbackCancel - É um método opcional, que fornece a função de retorno de chamada que executa quando o botão "Cancelar" é clicado pelo usuário no modal prompt.

Exemplo

O exemplo a seguir demonstra o uso do modal prompt no Framework7, que exibe a caixa de prompt quando você clica nos links para realizar algumas ações -

<!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>Prompt Modal</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 = "navbar">
               <div class = "navbar-inner">
                  <div class = "center sliding">Prompt Modal</div>
               </div>
            </div>
            
            <div class = "pages">
               <div data-page = "index" class = "page navbar-fixed">
               
                  <div class = "page-content">
                     <div class = "content-block">
                        <p><a href = "#" class = "prompt-ok">Displays Prompt Modal with Text and Ok callback</a></p>
                        
                        <p><a href = "#" class = "prompt-ok-cancel">Displays Prompt Modal With Text, Ok and Cancel callbacks</a></p>
                        
                        <p><a href = "#" class = "prompt-title-ok">Displays Prompt Modal With Text, Title and Ok callbacks</a></p>
                        
                        <p><a href = "#" class = "prompt-title-ok-cancel">Displays Prompt Modal With Text, Title, Ok and Cancel callbacks</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>
         // Here you can initialize the app
         var myApp = new Framework7();

         // If your using custom DOM library, then save it to $$ variable
         var $$ = Dom7;

         // Add the view
         var mainView = myApp.addView('.view-main', {
         
            // enable the dynamic navbar for this view:
            dynamicNavbar: true
         });

         $$('.prompt-ok').on('click', function () {
            myApp.prompt('Enter your name?', function (value) {
               myApp.alert('Name is "' + value + '" and you have clicked Ok button.');
            });
         });

         $$('.prompt-ok-cancel').on('click', function () {
            myApp.prompt('Enter your name?', function (value) {
                myApp.alert('Name is "' + value + '" and you have clicked Ok button.');
            },
            
            function (value) {
               myApp.alert('Name is "' + value + '" and you have clicked cancel button.');
            }
            );
         });
         
         $$('.prompt-title-ok').on('click', function () {
            myApp.prompt('Enter your name?', 'My Title', function (value) {
               myApp.alert('Name is "' + value + '" and you have clicked Ok button.');
            });
         });
         
         $$('.prompt-title-ok-cancel').on('click', function () {
            myApp.prompt('Enter your name?', 'My Title', function (value) {
               myApp.alert('Name is "' + value + '" and you have clicked Ok button.');
            },
            function (value) {
               myApp.alert('Name is "' + value + '" and you have clicked cancel button.');
            }
            );
         });
      </script>
   </body>

</html>

Resultado

Vamos realizar as seguintes etapas para ver como funciona o código fornecido acima -

  • Salve o código HTML fornecido acima como modal_prompt.html arquivo na pasta raiz do servidor.

  • Abra este arquivo HTML como http: //localhost/modal_prompt.html e a saída é exibida conforme mostrado abaixo.

  • Quando o usuário clica na primeira opção, ela é vinculada a uma janela pop-up. Quando o usuário insere texto na caixa, ele executa a função de retorno de chamada quando OK é clicado.

  • Quando o usuário clica na segunda opção, ela se vincula a uma janela pop-up, onde executa a função de retorno de chamada quando o usuário clica no botão Cancelar. Ele executa uma função de retorno de chamada quando o usuário insere o texto na caixa e clica em OK.

  • Quando o usuário clica na terceira opção, ela é vinculada a uma janela pop-up com o texto e o título. Quando o usuário insere texto na caixa, ele executa a função de retorno de chamada quando OK é clicado.

  • Quando o usuário clica na última opção, ela se vincula a uma janela pop-up com o texto e o título e executa uma função de retorno de chamada quando o usuário clica em cancelar. Ele executa uma função de retorno de chamada quando o usuário insere o texto e clica em OK.