ux/FlipCounter.js
[roojs1] / ux / FlipCounter.js
index ce72a45..6df2667 100644 (file)
@@ -2,7 +2,9 @@
 
 Roo.ux.FlipCounter = function(options)
 {
-    Roo.apply(this, options);
+    Roo.ux.FlipCounter.superclass.constructor.call(this, options);
+    
+    //Roo.apply(this, options);
     //this.el = $(element);
     //this.options = $.extend({}, defaults, options);
     this.addEvents({
@@ -56,7 +58,8 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
         }
     },
     
-    addDigit : function (num) {
+    addDigit : function (num)
+    {
         // Add separator after every 3rd digit
         if (this.digits.length % 3 == 0 && this.digits.length != 0)
         {
@@ -65,11 +68,11 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
         
          
         
-        var li = this.el.select('li'.true).first();
-        var digit = new Roo.ux.FlipCounter.Digit(li, num);
+        
+        var digit = new Roo.ux.FlipCounter.Digit({ manager : this, currentNumber : num });
         digit.manager = this;
         this.digits.push(digit);
-        digit.render(this.el);
+        digit.render(this.el, 0);
          
         // Update width
         this.ulWidth = this.ulWidth + digit.el.getWidth(true);
@@ -84,7 +87,7 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
     {
         var digit = this.digits.splice(this.digits.length-1, 1)[0];
         
-        this.ulWidth = this.ulWidth - digit.el.outerWidth(true);
+        this.ulWidth = this.ulWidth - digit.el.getWidth(true);
         digit.li.remove();
         
         // Remove separators
@@ -145,13 +148,22 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
 Roo.ux.FlipCounter.Digit = function(options)
 {
     //Roo.apply(this, options);
+    Roo.ux.FlipCounter.Digit.superclass.constructor.call(this, options);
+
+    
+    this.currentNumber = parseInt(this.currentNumber);
+    
     
-    this.currentNumber = this.parseInt(this.currentNumber);
 }
 
 Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
 
+    manager : null, // the flipcounter... 
     currentNumber : 0,
+    
+    
+    currentNum : 0,
+    nextNum : 0,
     targetNum : 0,
     
     topFrontDiv  : null,
@@ -162,6 +174,8 @@ Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
     bottomNumFront : null,
     
     
+    
+    
     getAutoCreate : function(){
         
         return {
@@ -174,7 +188,7 @@ Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
                             {
                                 cls : 'flipper_top flipper_top2 flipper_top_back',
                                 cn : [
-                                    { tag: 'span', html: num },
+                                    { tag: 'span', html: this.currentNumber },
                                     { cls : 'rings' }
                                 ]
                         
@@ -182,7 +196,7 @@ Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
                             {
                                 cls : 'flipper_top flipper_top_front',
                                 cn : [
-                                    { tag: 'span', html: num },
+                                    { tag: 'span', html: this.currentNumber },
                                     { cls : 'rings' }
                                 ]
                         
@@ -193,14 +207,14 @@ Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
                             {
                                 cls : 'flipper_bottom flipper_bottom1 flipper_bottom_back',
                                 cn : [
-                                    { tag: 'span', html: num },
+                                    { tag: 'span', html: this.currentNumber },
                                     { cls : 'rings' }
                                 ]
                             },
                             {
                                 cls : 'flipper_bottom flipper_bottom_front',
                                 cn : [
-                                    { tag: 'span', html: num },
+                                    { tag: 'span', html: this.currentNumber },
                                     { cls : 'rings' }
                                 ]
                             },
@@ -216,16 +230,16 @@ Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
         
          
         
-        this.topFrontDiv = this.el.select('.flipper_top_front',true);
-        this.bottomFrontDiv = this.el.select('.flipper_bottom_front',true);
-        this.topNumBack = this.el.select('.flipper_top_back span',true);
-        this.topNumFront = this.el.select('.flipper_top_front span',true);
-        this.bottomNumBack = this.el.select('.flipper_bottom_back span',true);
-        this.bottomNumFront = this.el.select('.flipper_bottom_front span',true);
+        this.topFrontDiv = this.el.select('.flipper_top_front',true).first();
+        this.bottomFrontDiv = this.el.select('.flipper_bottom_front',true).first();
+        this.topNumBack = this.el.select('.flipper_top_back span',true).first();
+        this.topNumFront = this.el.select('.flipper_top_front span',true).first();
+        this.bottomNumBack = this.el.select('.flipper_bottom_back span',true).first();
+        this.bottomNumFront = this.el.select('.flipper_bottom_front span',true).first();
         
-        this.targetNum = currentNumber;
-        this.currentNum = currentNumber;
-        this.nextNum = currentNumber;
+        this.targetNum = this.currentNumber;
+        this.currentNum = this.currentNumber;
+        this.nextNum = this.currentNumber;
         
         this.currentlyAnimating = false;
     },
@@ -265,7 +279,7 @@ Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
         
         // Animate top flipper
         var digit = this;
-        digit.topNumBack.html(digit.nextNum);
+        digit.topNumBack.dom.innerHTML = digit.nextNum;
         (function() {
             digit.topFrontDiv.animate(
                 {
@@ -287,7 +301,7 @@ Roo.extend(Roo.ux.FlipCounter.Digit, Roo.bootstrap.Component, {
                     scaleY: {from: 0, to : 1},
                     
                 },
-                this.manager.options.speed * 0.5, //duration
+                this.manager.speed * 0.5, //duration
                 function() {
                     digit.currentNum = digit.nextNum;
                     digit.topNumFront.dom.innerHTML = digit.currentNum;