Framework7 Starter

by Maiki Nahara

HTML

<script src="https://unpkg.com/[email protected]/js/framework7.js"></script>
<link rel="stylesheet" href="https://unpkg.com/[email protected]/css/framework7.css">
<div id="app">
  <div class="panel panel-left panel-cover theme-dark">
    <div class="page"></div>
  </div>
  <div class="panel panel-right panel-reveal theme-dark">
    <div class="page"></div>
  </div>
  <div class="view view-main ios-edges">
    <div class="page" data-name="home">
      <div class="navbar">
        <div class="navbar-inner">
          <div class="left">
            <a href="#" class="link panel-open" data-panel="left">Left Panel</a>
          </div>
          <div class="title sliding">My App</div>
          <div class="right">
            <a href="#" class="link panel-open" data-panel="right">Right Panel</a>
          </div>
        </div>
      </div>
      <!-- Toolbar-->
      <div class="toolbar toolbar-bottom-md">
        <div class="toolbar-inner">
          <a href="#" class="link">Left Link</a>
          <a href="#" class="link">Right Link</a>
        </div>
      </div>
      <!-- Scrollable page content-->
      <div class="page-content no-navbar no-toolbar">
        <!-- Slider container -->
        <div class="swiper-container no-navbar no-toolbar">
          <!-- Slides wrapper -->
          <div class="swiper-wrapper">
            <div class="swiper-slide" data-component='about' id='about'></div>
            <div class="swiper-slide" data-component='test' id='test'></div>
            <div class="swiper-slide" data-component='test2' id='test2'></div>
            <div class="swiper-slide" data-component='test3' id='test3'></div>
          </div>
          <!-- Pagination, if required -->
          <div class="swiper-pagination"></div>
        </div>
      </div>
    </div>
  </div>
</div>

CSS

.swiper-container {
  height: 500px;
}

.hide-nav {
  padding-top: 0px !important;
}

JavaScript

var $$ = Dom7
var app = new Framework7({
  root: '#app',
  theme: 'auto',
  routes: [{
      path: '/about/',
      content: `
      	<div class="page">
          <div class="page-content hide-nav">
            <div class="block block-strong">About page</div>
          </div>
        </div>
      `
    },
    {
      path: '/test/',
      component: {
        template: `
          <div class="page">
            <div class="page-content hide-nav">
                <div class="card card-outline">
                <div class="card-content">
                    <div class="list media-list">
                  <ul id='myAnimistaList'>
                  	{{#each myData}}
                      <li class="item-content item-input">
                        {{this.name}}
                    </li>
                    {{/each}}
                  </ul>
                    </div>
                </div>
              </div>
              

            </div>
            </div>
      `,

        data: function() {
          return {
            myData: 'Loading...'
          }
        },
        methods: {
          placesAutocomplete: function() {
            var self = this;
            var app = self.$app;
            var $ = self.$;

            $('#address').on('keyup', function() {
              self.$setState({
                showTheRestOfThePage: false
              });
            });
          }
        },
        on: {
          pageInit: function(e, page) {
            var self = this;
            var app = self.$app;
            app.request.getJSON('https://jsonplaceholder.typicode.com/users/', {}, function(res) {
                self.$setState({
                  'myData': res
                })
              },
              function(xhr, status) {
                console.log(xhr)
              }
            )
          }
        }
      }
    },
    {
      path: '/test2/',
      content: `
      	<div class="page">
          <div class="page-content hide-nav">
    ...