Roo/dialog/UploadCropbox.js
[roojs1] / Roo / dialog / UploadCropbox.js
index b4f3c48..857468d 100644 (file)
@@ -215,8 +215,6 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     onRender : function(ct, position)
     {
-        console.log("On Render");
-        console.log(this);
         Roo.dialog.UploadCropbox.superclass.onRender.call(this, ct, position);
 
         if(this.el){
@@ -389,6 +387,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     onFileSelected : function(e)
     {
+        console.log("ON FILE SELECTED");
         e.preventDefault();
         
         if(typeof(this.selectorEl.dom.files) == 'undefined' || !this.selectorEl.dom.files.length){
@@ -415,6 +414,8 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     loadCanvas : function(src)
     {   
+        console.log("LOAD CANVAS");
+        console.log(src);
         if(this.fireEvent('beforeloadcanvas', this, src) != false){
             
             this.reset();
@@ -431,6 +432,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     onLoadCanvas : function()
     {   
+        console.log("ON LOAD CANVAS");
         this.imageEl.OriginWidth = this.imageEl.naturalWidth || this.imageEl.width;
         this.imageEl.OriginHeight = this.imageEl.naturalHeight || this.imageEl.height;
 
@@ -468,6 +470,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     setCanvasPosition : function()
     {   
+        console.log("SET CANVAS POSITION");
         if(!this.canvasEl){
             return;
         }
@@ -514,18 +517,30 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         
         var maxX = Math.ceil(minX + this.thumbEl.getWidth() - this.canvasEl.width);
         var maxY = Math.ceil(minY + this.thumbEl.getHeight() - this.canvasEl.height);
-        
+
+        if(minX > maxX) {
+            var tempX = minX;
+            minX = maxX;
+            maxX = tempX;
+        }
+
+        if(minY > maxY) {
+            var tempY = minY;
+            minY = maxY;
+            maxY = tempY;
+        }
+
         var x = Roo.isTouch ? e.browserEvent.touches[0].pageX : e.getPageX();
         var y = Roo.isTouch ? e.browserEvent.touches[0].pageY : e.getPageY();
         
         x = x - this.mouseX;
         y = y - this.mouseY;
-        
+
         var bgX = Math.ceil(x + this.previewEl.getLeft(true));
         var bgY = Math.ceil(y + this.previewEl.getTop(true));
         
-        bgX = (minX < bgX) ? minX : ((maxX > bgX) ? maxX : bgX);
-        bgY = (minY < bgY) ? minY : ((maxY > bgY) ? maxY : bgY);
+        bgX = (bgX < minX) ? minX : ((bgX > maxX) ? maxX : bgX);
+        bgY = (bgY < minY) ? minY : ((bgY > maxY) ? maxY : bgY);
         
         this.previewEl.setLeft(bgX);
         this.previewEl.setTop(bgY);
@@ -546,13 +561,16 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         e.stopEvent();
         
         this.startScale = this.scale;
-        console.log("START SCALE: " + this.scale);
         this.scale = (e.getWheelDelta() == 1) ? (this.scale + 1) : (this.scale - 1);
-        console.log("END SCALE: " + this.scale);
+        
+        console.log("START SCALE:" + this.startScale);
+        console.log("TEST SCALE: " + this.scale);
         if(!this.zoomable()){
             this.scale = this.startScale;
             return;
         }
+
+        console.log("END SCALE: " + this.scale);
         
         this.draw();
         
@@ -561,8 +579,6 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     zoomable : function()
     {
-        console.log("THUMBEL");
-        console.log(this.thumbEl);
         var minScale = this.thumbEl.getWidth() / this.minWidth;
         
         if(this.minWidth < this.minHeight){
@@ -574,23 +590,11 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         var width = Math.ceil(this.imageEl.OriginWidth * this.getScaleLevel() / minScale);
         var height = Math.ceil(this.imageEl.OriginHeight * this.getScaleLevel() / minScale);
 
+        console.log("WIDTH: " + width);
+        console.log("HEIGHT: " + height);
+
         var maxWidth = this.imageEl.OriginWidth;
         var maxHeight = this.imageEl.OriginHeight;
-
-        if(this.imageEl.OriginWidth / this.imageEl.OriginHeight  > this.minWidth / this.minHeight && this.imageEl.OriginHeight < this.minHeight) {
-            maxHeight = this.minHeight;
-            maxWidth = this.imageEl.OriginWidth / this.imageEl.OriginHeight * this.minHeight;
-        }
-        if(this.imageEl.OriginWidth / this.imageEl.OriginHeight  < this.minWidth / this.minHeight && this.imageEl.OriginWidth < this.minWidth) {
-            maxWidth = this.minWidth;
-            maxHeight = this.imageEl.OriginHeight /this.imageEl.OriginWidth * this.minWidth;
-        }
-
-        console.log("GETSCALELEVEL: " + this.getScaleLevel());
-        console.log("width: " + width);
-        console.log("height: " + height);
-        console.log("maxWidth: " + maxWidth);
-        console.log("maxHeight: " + maxHeight);
         
         if(
                 this.isDocument &&
@@ -764,11 +768,14 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     draw : function()
     {
+        console.log("DRAW");
         this.previewEl.dom.innerHTML = '';
         
         var canvasEl = document.createElement("canvas");
         
         var contextEl = canvasEl.getContext("2d");
+
+        console.log(this.getScaleLevel());
         
         canvasEl.width = this.imageEl.OriginWidth * this.getScaleLevel();
         canvasEl.height = this.imageEl.OriginWidth * this.getScaleLevel();
@@ -850,6 +857,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     crop : function()
     {
+        console.log("crop");
         if(!this.canvasLoaded){
             return;
         }
@@ -1032,7 +1040,6 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
                 }
                 
                 context.scale(scale, scale);
-                
                 var sx = Math.min(this.canvasEl.width - this.thumbEl.getWidth(), this.thumbEl.getLeft(true) - this.previewEl.getLeft(true));
                 var sy = Math.min(this.canvasEl.height - this.thumbEl.getHeight(), this.thumbEl.getTop(true) - this.previewEl.getTop(true));
 
@@ -1049,6 +1056,9 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         }
         
         this.cropData = canvas.toDataURL(this.cropType);
+
+        console.log("cropData");
+        console.log(this.cropData);
         
         if(this.fireEvent('crop', this, this.cropData) !== false){
             this.process(this.file, this.cropData);
@@ -1094,6 +1104,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     setThumbBoxPosition : function()
     {
+        console.log("SET THUMBBOX POSITION");
         var x = Math.ceil((this.bodyEl.getWidth() - this.thumbEl.getWidth()) / 2 );
         var y = Math.ceil((this.bodyEl.getHeight() - this.thumbEl.getHeight()) / 2);
         
@@ -1104,6 +1115,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     baseRotateLevel : function()
     {
+        console.log("BASE ROTATE LEVEL");
         this.baseRotate = 1;
         
         if(
@@ -1120,6 +1132,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     baseScaleLevel : function()
     {
+        console.log("BASE SCALE LEVEL");
         var width, height;
         
         if(this.isDocument){
@@ -1190,13 +1203,16 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
             }
             
         }
-        
+
+        if(this.imageEl.OriginWidth < this.minWidth || this.imageEl.OriginHeight < this.minHeight) {
+            this.baseScale = width / this.minWidth;
+        }
+        console.log(this.baseScale);
         return;
     },
     
     getScaleLevel : function()
     {
-        console.log("BASESCALE: " + this.baseScale);
         return this.baseScale * Math.pow(1.02, this.scale);
     },
     
@@ -1288,6 +1304,7 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     process : function(file, crop)
     {
+        console.log(process);
         if(this.loadMask){
             this.maskEl.mask(this.loadingText);
         }
@@ -1296,6 +1313,8 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
         
         file.xhr = this.xhr;
 
+        console.log("METHOD:" + this.method);
+        console.log("URL: " + this.url); 
         this.xhr.open(this.method, this.url, true);
         
         var headers = {
@@ -1388,6 +1407,8 @@ Roo.extend(Roo.dialog.UploadCropbox, Roo.Component,  {
     
     prepare : function(file)
     {   
+        console.log("PREPARE");
+        console.log(file);
         if(this.loadMask){
             this.maskEl.mask(this.loadingText);
         }