Beispiel #1
0
/**
 * A helper function to create a `ButtonView`.
 *
 * @module ButtonView
 * @type public
 * @requires Ti.UI.View, Ti.UI.Button
 *
 * @param {Object} options The configuration object to customize `ButtonView`
 * @return {Ti.UI.Button} An instance of `ButtonView`
 */
function createButtonView(options) {
  var options = Utilities.defaults(options, {
    title: ' ',
    backgroundPaddingTop:    6,
    backgroundPaddingRight:  6,
    backgroundPaddingBottom: 6,
    backgroundPaddingLeft:   6
  });

  var buttonView = Ti.UI.createButton(options);

  var labelView = Ti.UI.createLabel({
    text:                    options.title,
    width:                   Ti.UI.SIZE,
    height:                  Ti.UI.SIZE,
    backgroundPaddingTop:    options.backgroundPaddingTop,
    backgroundPaddingRight:  options.backgroundPaddingRight,
    backgroundPaddingBottom: options.backgroundPaddingBottom,
    backgroundPaddingLeft:   options.backgroundPaddingLeft
  });
  buttonView.add(labelView);

  // Override some properties to ensure the view behaves as expected.
  buttonView.applyProperties({
    width:  Ti.UI.SIZE,
    height: Ti.UI.SIZE,
    title:  ' '
  });

  return buttonView;
}
  /**
   * Initializes the Slidr.
   *
   * @method initialize
   * @param {Object} options The configuration object to customize `Slidr`
   * @return {Titanium.UI.ScrollView} An instance of `Slidr`
   * @api private
   */
  function initialize(options) {
    // Merge the options given by the user with the defaults
    config = Utilities.defaults(options, config);

    // create an instance
    createInstance();

    // Public API
    instance.VERSION  = VERSION;
    instance.addSlide = addSlide;

    return instance;
  }
var Slidr=function(){function n(a){return m=b.defaults(a,m),o(),d.VERSION=c,d.addSlide=q,d}function o(){return m.clipViews=m.clipSlides,d=XUI.SwappableView(m),0!==m.slides.length&&q(m.slides,{reset:!0}),f=d.toImage().width,e=d.toImage().height,d}function p(a){a||(a={});var b=Ti.UI.createScrollView({contentWidth:"auto",contentHeight:"auto",width:"100%",height:"100%",layout:"vertical",maxZoomScale:1,verticalBounce:!m.disableBounce,scrollingEnabled:!0,_meta:{className:a.className||"topLevelSlide",index:a.index}});return b.addEventListener("X-swipe",function(a){P("scrolling: "+JSON.stringify(a));var c=z("vertical",b._meta.index);P("instance.width "+f),P("instance.height"+e),P("slides #       "+c)}),b}function q(a,b){b||(b={});var f,c=a instanceof Array?"array":typeof a,e="::addSlide("+c.toUpperCase()+" slide, "+JSON.stringify(b)+") ";P(e+"method invoked.");var h=b.parentIndex>=0&&b.parentIndex<z("horizontal");if(b.reset&&(d.setViews([]),g=[]),a instanceof Array)if(h){P(e+"adding an array of slides as children.");for(var i=0;i<a.length;i++)x(b.parentIndex).add(a[i]),y(a[i],b.parentIndex)}else{P(e+"adding an array of top-level slides.");for(var i=0;i<a.length;i++)f=p(),f.add(a[i]),y(f),d.addView(f)}else h?(P(e+"add slide as a child."),x(b.parentIndex).add(a),y(a,b.parentIndex)):(P(e+"adding a top-level slide."),f=p(),f.add(a),y(f),d.addView(f));A(),P(e+"count: "+JSON.stringify(k)),P("")}function x(a,b){return g[a?a:0][b?b:0]}function y(a,b){b>=0?g[b].push(a):g.push([a])}function z(a,b){return"horizontal"===a?k.horizontalSlides:"vertical"===a&&k.horizontalSlides?b?g[b].length:0:k.totalSlides}function A(){k.horizontalSlides=g.length,k.totalSlides=0;for(var a=0;a<k.horizontalSlides;a++)x(a)._meta.index=a,k.totalSlides+=g[a].length}function P(a){m.debug&&l&&(Ti.API.log(""),Ti.API.log("[xcore.UI.Slidr] Set `debug` flag to `false` to turn off these logs."),Ti.API.log("--------------------------------------------------------------------"),l=!1),m.debug&&Ti.API.log("[xcore.UI.Slidr] "+a)}require("lib/underscore");var b=require("lib/xcore/utilities"),c="1.0",d={},e=0,f=0,g=[],k={totalSlides:0,horizontalSlides:0},l=!0,m={debug:!1,width:"78%",height:"80%",slides:[],clipSlides:!1,transitionEnabled:!0,scrollingEnabled:!0,disableBounce:!1,showPagingControl:!0,pagingControlColor:"transparent"};return n}();module.exports=Slidr;