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">
        <div class="block block-strong">
          <p>Here is your blank Framework7 app.</p>
        </div>

        <div class="block-title">Navigation</div>
        <div class="list links-list">
          <ul>
            <li><a href="/about/">Virtual List</a></li>
          </ul>
        </div>
      </div>
    </div>
  </div>
</div>

JavaScript

var app = new Framework7({
  root: '#app',
  theme: 'auto',
  routes: [{
    path: '/about/',
    template: `
  <div data-name="users" class="page">
<form data-search-container=".virtual-list" data-search-item="li" data-search-in=".item-title" class="searchbar searchbar-init">
    <div class="searchbar-inner">
        <div class="searchbar-input-wrap">
          <input type="search" placeholder="Search"/>
          <i class="searchbar-icon"></i>
          <span class="input-clear-button"></span>
        </div>
        <span class="searchbar-disable-button">Cancel</span>
    </div>
 </form>	      
<div class="searchbar-backdrop"></div>
<div class="page-content ">
    <div class="list links-list searchbar-not-found margin padding">
      <ul >
          <li>Nothing found</li>
      </ul>
    </div>
    <div class="list virtual-list media-list searchbar-found margin padding"></div>			
</div> <!-- ./ page-content -->
</div>
      `,
      data () {
return {
items: []
}
},
    on: {
      pageInit() {
      var self = this
      debugger
      // https://jsonplaceholder.typicode.com/todos/
      app.request.getJSON('https://jsonplaceholder.typicode.com/todos', function(res) {
      debugger
      })
      debugger
        var virtualList = app.virtualList.create({
          // List Element
          el: '.virtual-list',
          // Pass array with items
          items: this.items,
          // Custom search function for searchbar
          searchAll: function(query, items) {
            var found = [];
            for (var i = 0; i < items.length; i++) {
              if (items[i].title.toLowerCase().indexOf(query.toLowerCase()) >= 0 || query.trim() === '') found.push(i);
            }
            return found; //return array with mathced indexes
          },
          // List item Template7 template
          itemTemplate: '<li>' +
            '<a  class="#" {{href}}>' +
            '<div class="item-inner">' +
            '<div class="item-title-row">' +
         ...