Realization of an APP with PhoneGap and Framework7

3

I am trying to make a web application using these two technologies, although in some points I can not understand it.

The application presents an initial login page, which makes a query to an API and if the user is authenticated, you pass to a new html in which there will be different options.

Here is a view of index.html :

    <!DOCTYPE html>
<html>
<head>

<!-- JQUERY -->
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>

 <!-- Required meta tags-->
 <meta charset="utf-8">
 <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">
 <meta name="format-detection" content="telephone=no">
 <meta name="msapplication-tap-highlight" content="no">

 <title></title>

 <link rel="stylesheet" type="text/css" href="css/styles.css" />
 <link rel="stylesheet" href="lib/framework7/css/framework7.material.min.css">
 <link rel="stylesheet" href="lib/framework7/css/framework7-icons.css">

 <!-- Path to Framework7 color related styles, Material Theme -->
 <link rel="stylesheet" href="lib/framework7/css/framework7.material.colors.min.css">


 <script type="text/javascript" src='js/funciones.js'></script>

</head>

<body>
    <!-- Status bar overlay for full screen mode (PhoneGap) -->
    <div class="statusbar-overlay"></div>
    <!-- Panels overlay-->
    <div class="panel-overlay"></div>
    <!-- Left panel with reveal effect-->
    <div class="panel panel-left panel-reveal">
        <div class="content-block">
            <p>Left panel content goes here</p>
        </div>
    </div>

    <!-- Views -->
    <div class="views">
      <!--Creamos el View principal-->
      <div class="view view-main">
        <div class="pages navbar-fixed">
          <!--Añadimos la primera página-->
          <div data-page="index" class="page">
           <!--Esto es barra superior, menu, logo, etc-->
            <div class="navbar">
              <div class="navbar-inner">
                <div class="center"><img src="lib/framework7/img/logo-f.png" width="60%;"></div>
              </div>
            </div>
            <!--El contenido de la página-->
            <div class="page-content">

            <!-- FORMULARIO LOGIN -->
               <form>
                    <div class="list-block">
                      <ul>
                        <li>
                          <div class="item-content">
                            <div class="item-media"><i class = "icon icon-form-name"></i></div>
                            <div class="item-inner">
                              <div class="item-input">
                                  <input type="text" name="name" placeholder="DNI" id="textDNI">
                              </div>
                            </div>
                          </div>
                        </li>
                        <li>
                          <div class="item-content">
                            <div class="item-media"><i class = "icon icon-form-password"></i></div>
                            <div class="item-inner">
                              <div class="item-input">
                                  <input type="password" name="pass" placeholder="Password" id="passWeb">
                              </div>
                            </div>
                          </div>
                        </li>
                        <li>
                            <div class="item-content" style="padding-top: 3px;">   
                                <div class="item-inner">
                                  <div class="item-input">
                                      <a href="#" class="button button-raised button-fill color-green" id="btnLogin" onclick="IniSesion();">Iniciar Sesión</a>
                                  </div>
                                </div>
                            </div>
                        </li>
                      </ul>
                    </div>     
               </form>
            <!-- -->   
            </div>
          </div>
        </div>
      </div>
</div>

    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="lib/framework7/js/framework7.min.js"></script>
    <script type="text/javascript" src="js/my-app.js"></script>

    <script>
        app.initialize();
    </script>
</body>

</html>

Next, the file my-app.js, where I check if the APP has an Internet connection:

var $$ = Dom7; //$$ para manipulación del DOM no es necesario jQuery pero si se utiliza no tendremos conflictos
myApp = new Framework7({
    material: true, //Activamos Material
    swipePanel: 'left' //Activamos la acción slide para el menú
});
var mainView = myApp.addView('.view-main', {
    dynamicNavbar: true,
    domCache: true //Activamos el DOM cache, para pages inline
});
var app = {
    initialize: function() {
        document.addEventListener("deviceready", this.init, false);

        document.addEventListener("offline", connectionOff, false);

        function connectionOff() {

                alert('No dispone de conexión a Internet. Si ella no podra hacer uso de la APP');
        }




    },
    init: function() {


    }


};

And in this js I have a function that connects to the API and redirects to another page:

function IniSesion(){

  if($('#textDNI').val() == ''){
      alert('Debe ingresar su DNI');
      return false;
  }

  if($('#passWeb').val() == ''){
      alert('Debe ingresar su contraseña');
      return false;
    }else{
       usuario = $('#textDNI').val();
       clave = $('#passWeb').val();

       var urlEnvio = ""

       /*Envio de peticion*/
      var xmlhttp = new XMLHttpRequest();
      xmlhttp.open("GET", urlEnvio, false);
      xmlhttp.setRequestHeader("accept" ,"application/json");
      xmlhttp.setRequestHeader("content-type" ,"application/json");
      xmlhttp.send(urlEnvio);

      var resultado = xmlhttp.response;
      var long = resultado.length;
      var elementos =JSON.parse(resultado);

      if(elementos.count == '0'){
         myApp.addNotification({
                  message: 'Usuario o contraseña incorrecta',
                });
      }else{
         window.location.href = 'panelUsuario.html';
      }
    }
}

So far it seems that everything works correctly, but I want to set a calendar in the new html and the official documentation of Framework7 tells me that I must create an instance of the calendar first.

I do not know if this should be done in the file my-app.js or create a new one or if it is created in a different place.

    
asked by AntonioMP87 19.07.2017 в 09:53
source

0 answers