ux/FlipCounter.js
[roojs1] / ux / FlipCounter.js
index b4e3574..9ef9ee7 100644 (file)
@@ -35,15 +35,18 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
     
     speed : 0.2,
     startnumber : 0,
+    currentNumber : 0,
+    decimal : 0,
     
     digits : false, // array...
-    ulWidth : 0, 
+    ulWidth : 0,
+    cls : '',
     
     getAutoCreate : function(){
         
         return {
             tag: 'ul',
-            cls: 'flipcounter',
+            cls: 'flipcounter ' + this.cls,
             
         };
     },
@@ -54,20 +57,23 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
         
         for (i=startNum.length-1; i>=0; i=i-1)
         {
+            if (startNum[i] == '.') {
+                this.addSeparator('.');
+            }
             this.addDigit(startNum[i]);
         }
+        this.currentNumber = this.startnumber;
     },
     
     addDigit : function (num)
     {
         // Add separator after every 3rd digit
-        if (this.digits.length % 3 == 0 && this.digits.length != 0)
+        /*if (this.digits.length % 3 == 0 && this.digits.length != 0)
         {
-            this.addSeparator();
+            this.addSeparator(',');
         }
-        
-         
-        
+        */
+          
         
         var digit = new Roo.ux.FlipCounter.Digit({ manager : this, currentNumber : num });
         digit.manager = this;
@@ -87,8 +93,8 @@ 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);
-        digit.li.remove();
+        this.ulWidth = this.ulWidth - digit.el.getWidth(true);
+        digit.el.remove();
         
         // Remove separators
         if (this.digits.length % 3 == 0)
@@ -102,9 +108,9 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
         this.el.set( { 'min-width' : this.ulWidth});
     },
     
-    addSeparator : function (num)
+    addSeparator : function (str)
     {
-        var comma = this.el.insertHtml('afterBegin','<li class="comma">,</li>',true);
+        var comma = this.el.insertHtml('afterBegin','<li class="comma">'+str+'</li>',true);
         
         // Update width
         
@@ -116,6 +122,7 @@ Roo.extend(Roo.ux.FlipCounter, Roo.bootstrap.Component, {
     {
         var numStr = parseInt(num).toString();
         
+        this.currentNumber = num;
         // Change the number of digits displayed if needed
         if (numStr.length != this.digits.length)
         {
@@ -301,7 +308,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;