define(function(require, exports, module) { var Engine = require("famous/core/Engine"); var Surface = require("famous/core/Surface"); var Utility = require('famous/utilities/Utility'); var Easing = require('famous/transitions/Easing'); // will need to change this to correct directory later var ReflowableScrollview = require("views/reflowableScrollview"); var mainContext = Engine.createContext(); // * @param {Number} [options.direction=Utility.Direction.Y] Using the direction helper found in the famous Utility // * module, this option will lay out the Scrollview instance's renderables either horizontally // * (x) or vertically (y). Utility's direction is essentially either zero (X) or one (Y), so feel free // * to just use integers as well. // * @param {Number} [duration=1000] represents length of time for reflowable animation // * @param {String} [curve='linear'] easing curve for the reflowable animation // * @param {Number} [debounceTimer=1000] amount of time delayed before triggering reflowable animation after resize // * @param {Boolean} [gutter=false] whether a gutter should appear between each renderable var reflowable = new ReflowableScrollview({ direction: Utility.Direction.Y, duration: 1000, curve: Easing.inOutBounce, debounceTimer: 1000, gutter: true }); var surfaces = []; var num = 100; for (var i = 0; i < num; i += 1) { var color = "hsl(" + (i * 360 / 10) + ", 100%, 50%)"; var surface = new Surface({ size: [100, 100], content: '' + i, properties: { backgroundColor: color } }); reflowable.subscribe(surface); surfaces.push(surface); } reflowable.sequenceFrom(surfaces); mainContext.add(reflowable); });
define(function(require, exports, module) { 'use strict'; var Engine = require('famous/core/Engine'); var Modifier = require('famous/core/Modifier'); var Transform = require('famous/core/Transform'); var Surface = require('famous/core/Surface'); var ImageSurface = require('famous/surfaces/ImageSurface'); var ReflowableScrollview = require('views/reflowableScrollview'); var Utility = require('famous/utilities/Utility'); var Easing = require('famous/transitions/Easing'); // DEMO SCENARIOS // 1. Baseline - using defaults and same-sized colored surfaces var reflowable = new ReflowableScrollview({ debounceTimer: 1000 }); var surfaces = []; var num = 100; for (var i = 0; i < num; i += 1) { var color = "hsl(" + (i * 360 / 10) + ", 100%, 50%)"; var surface = new Surface({ size: [100, 100], content: '' + i, properties: { backgroundColor: color } }); reflowable.subscribe(surface); surfaces.push(surface); } // 2. Demonstrate gutter // var reflowable = new ReflowableScrollview({ // debounceTimer: 1000, // gutter: true // }; // 3. Demonstrate different surface sizes // var reflowable = new ReflowableScrollview({ // // direction: Utility.Direction.Y, // // curve: Easing.inOutBounce, // // duration: 200, // debounceTimer: 1000, // gutter: true // }); // var surfaces = []; // var num = 100; // var sizeCounter = 1; // for (var i = 0; i < num; i += 1) { // var color = "hsl(" + (i * 360 / 10) + ", 100%, 50%)"; // var surface = new Surface({ // size: [ 50 * (sizeCounter % 2 + 1), 50 * (sizeCounter % 4 + 1) ], // content: '' + i, // properties: { // backgroundColor: color // } // }); // sizeCounter++; // reflowable.subscribe(surface); // surfaces.push(surface); // } // 4. Demonstrate changing curves // var reflowable = new ReflowableScrollview({ // curve: Easing.inOutBounce, // debounceTimer: 1000, // gutter: true // }); // var surfaces = []; // var num = 100; // var sizeCounter = 1; // for (var i = 0; i < num; i += 1) { // var color = "hsl(" + (i * 360 / 10) + ", 100%, 50%)"; // var surface = new Surface({ // size: [ 50 * (sizeCounter % 2 + 1), 50 * (sizeCounter % 4 + 1) ], // content: '' + i, // properties: { // backgroundColor: color // } // }); // sizeCounter++; // reflowable.subscribe(surface); // surfaces.push(surface); // } // ALWAYS INCLUDE reflowable.sequenceFrom(surfaces); var mainContext = Engine.createContext(); mainContext.add(reflowable); });