function _createGymListView() {

    console.log("_createGymListView fires")

    data = GymData();

    this.gymListView = new GymListView({ data : data });

    this.gymListView.pipe(this._eventOutput);

    this.gymListModifier = new Modifier({
      // size: [320,700]
    });

    this.gymListLayout.content.add(this.gymListModifier).add(this.gymListView);

  }
Exemple #2
0
  function initApp(data) {
    data = GymData();

    var options = {
        transition:{duration:450}
    }

    this._eventInput = new EventHandler();
    this._eventOutput = new EventHandler();
    EventHandler.setInputHandler(this, this._eventInput);
    EventHandler.setOutputHandler(this, this._eventOutput);

    var appViewMod = new Modifier();

    var appView = new AppView({ 
      data: data
    });
    appView._eventInput.pipe(this._eventOutput);

    var appViewBackground = new Surface({
      // size: (undefined, undefined),
      properties: {
        backgroundColor: "red"
      }
    });

    //LoginPrompt page events
    this._eventOutput.on('closeLogin',function(transition){
      console.log('close login main')
      moveDown(transition)
    });
    this._eventOutput.on('userLogin',function(){
      console.log('user login main')
      moveUp()
    });
    this._eventOutput.on('ticketPurchased',function(){
      console.log('user login main')
      moveDown({duration:0})
    });
    this._eventOutput.on('pass closed',function(){
      console.log('pass closed')
      moveDown({duration:0})
    });

    //RegisterView events
//    this._eventOutput.on('RegisterClose',function(){
//      console.log('close register')
//      moveDown()
//    });
//    this._eventOutput.on('RegisterOpen',function(){
//      console.log('user login main')
//      moveUp()
//    });

    function moveUp(){
        console.log('moveup')
        appViewMod.setTransform(Transform.translate(0,-window.innerHeight,0), options.transition)
    }

    function moveDown(transition){
        console.log('movedown')
        appViewMod.setTransform(Transform.translate(0,0,0), transition || options.transition)
    }

    mainContext.add(appViewMod).add(appView).add(appViewBackground);
  }
    //function that creates gym list scroll view
    function _createGymScrollview() {

      this.gymScrollview = new Scrollview();
      this.windowWidth = window.innerWidth
      var gymScrollviewModifier = new StateModifier({
          size: [this.windowWidth, 600]
          // transform: Transform.translate(0,0,9.3)
      });

      var backModifier = new StateModifier({
        // positions the background behind the tab surface
        transform: Transform.behind
      });

      var surfaces = [];

      this.gymScrollview.sequenceFrom(surfaces);

      //calls GymData() to make gym data accessible to Gym items
      data = GymData();
      this.detail = new DetailView();
      var gymItem = null;

      //receives back clicks and calls hideDetails in the DetailView which calls moveDown in the SlideView which removes the details from the page 
      this.detail.on('backButton-clicked', function(){
        this._eventInput.emit('pipeEventOutput');
        this.detail.hideDetails();
      }.bind(this));

      this.detail.on('unPipeEventOutput', function(){
        this._eventInput.emit('unPipeEventOutput');
      }.bind(this));

      this.detail.on('closeLogin', function(transition){
        this._eventOutput.emit('closeLogin',transition);
      }.bind(this));
      this.detail.on('userLogin', function(){
        this._eventOutput.emit('userLogin');
      }.bind(this));
      this.detail.on('ticketPurchased', function(data, numPasses){
        console.log("data inside gymlistview", data, numPasses)
        this.detail.slide.confirmPurchaseView.moveDown({duration:0});
        this.detail.slide.moveDown({duration:0});
        this._eventOutput.emit('ticketPurchased', data, numPasses);
        this._eventInput.emit('pipeEventOutput');

      }.bind(this));

      this.detail.on('pass closed', function(){
        this.detail.slide.confirmPurchaseView.moveDown({duration:0});
        this.detail.slide.moveDown({duration:0});
        this._eventOutput.emit('pass closed');
        this._eventInput.emit('pipeEventOutput');
      }.bind(this));

      this.detail.on('pass closed emit from pageview', function(){
        console.log("pass closed emit from pageview received in GYMLIST VIEW")
        this.detail.slide.confirmPurchaseView.moveDown({duration:0});
        this.detail.slide.moveDown({duration:0});
        this._eventOutput.emit('pass closed');
        this._eventInput.emit('pipeEventOutput');
      }.bind(this));

      this._eventInput.on('ticketToggle',function(){
        console.log('gymlist ticketTggloe')
      }.bind(this));

      //loop that creates each panel of the gym scrollview
      for (var i = 0; i < this.options.data.gym_names.length; i++) {

          gymItem = new GymListItem({ data : data }, undefined, i);

          this._eventInput.pipe(gymItem);

          this._setItemSyncEvent(gymItem);

          gymItem.pipe(this.gymScrollview); // scrolling

          gymItem.pipe(this._eventOutput); // dragging
          
          surfaces.push(gymItem);

          //click function to fire detail view

          gymItem.on('click',this.detail.createDetails.bind(this.detail, gymItem));

      }

      this.add(backModifier).add(gymScrollviewModifier).add(this.gymScrollview);
      this.add(this.detail);
    }
Exemple #4
0
define(function(require, exports, module) {
  var AppView = require('src/examples/views/Scrollview/AppView.js');
  var Engine = require('famous/core/Engine');
  var GymData = require('src/examples/data/GymData.js');
  var Modifier = require('famous/core/Modifier');
  var Surface = require('famous/core/Surface');
  var EventHandler = require('famous/core/EventHandler');
  var Transform = require('famous/core/Transform');

  var mainContext = Engine.createContext();

  initApp(GymData());

  function initApp(data) {
    data = GymData();

    var options = {
        transition:{duration:450}
    }

    this._eventInput = new EventHandler();
    this._eventOutput = new EventHandler();
    EventHandler.setInputHandler(this, this._eventInput);
    EventHandler.setOutputHandler(this, this._eventOutput);

    var appViewMod = new Modifier();

    var appView = new AppView({ 
      data: data
    });
    appView._eventInput.pipe(this._eventOutput);

    var appViewBackground = new Surface({
      // size: (undefined, undefined),
      properties: {
        backgroundColor: "red"
      }
    });

    //LoginPrompt page events
    this._eventOutput.on('closeLogin',function(transition){
      console.log('close login main')
      moveDown(transition)
    });
    this._eventOutput.on('userLogin',function(){
      console.log('user login main')
      moveUp()
    });
    this._eventOutput.on('ticketPurchased',function(){
      console.log('user login main')
      moveDown({duration:0})
    });
    this._eventOutput.on('pass closed',function(){
      console.log('pass closed')
      moveDown({duration:0})
    });

    //RegisterView events
//    this._eventOutput.on('RegisterClose',function(){
//      console.log('close register')
//      moveDown()
//    });
//    this._eventOutput.on('RegisterOpen',function(){
//      console.log('user login main')
//      moveUp()
//    });

    function moveUp(){
        console.log('moveup')
        appViewMod.setTransform(Transform.translate(0,-window.innerHeight,0), options.transition)
    }

    function moveDown(transition){
        console.log('movedown')
        appViewMod.setTransform(Transform.translate(0,0,0), transition || options.transition)
    }

    mainContext.add(appViewMod).add(appView).add(appViewBackground);
  }

});