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); }
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); }
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); } });