diff --git a/app/scripts/controllers/tshirtdesign.js b/app/scripts/controllers/tshirtdesign.js index 4ab68a5..11ca7c6 100644 --- a/app/scripts/controllers/tshirtdesign.js +++ b/app/scripts/controllers/tshirtdesign.js @@ -63,6 +63,7 @@ define(['app'], function (app) { //Custom control fabric.Object.prototype.transparentCorners = true; fabric.Object.prototype.hasRotatingPoint = false; + canvas.selection = false; var ctrVisible = {tl: false, ml:false, bl:false, mb: false, br: true, mr: false, tr: true, mt: true, mtr: false}; for(key in ctrVisible) { @@ -93,7 +94,7 @@ define(['app'], function (app) { cursor: 'pointer', action: function(e, target) { fabric.Object.prototype.selectable = false; - canvas.deactivateAll(); + canvas.deactivateAll().renderAll(); delete currentObj; $scope.designTextValue = ''; $timeout(function(){ @@ -256,8 +257,11 @@ define(['app'], function (app) { } function onObjectOut() { + console.log('onObjectOut'); + canvas.deactivateAll().renderAll(); delete currentObj; $scope.designTextValue = ''; + $scope.safeApply(); } function undoCanvas() { @@ -505,10 +509,12 @@ define(['app'], function (app) { } }; - $scope.focusInputText = function(text) { + + //Design text + $scope.inputText = function(e) { currentObj = canvas.getActiveObject(); if(typeof currentObj == 'undefined' || currentObj == null) { - $scope.iText = new fabric.IText('', { + var _iText = new fabric.IText('', { left: 150, top: 200, fontFamily: typeof $scope.itemFont != 'undefined' ? $scope.listFontFamily[$scope.itemFont].slug : $scope.listFontFamily[0].slug, @@ -520,7 +526,7 @@ define(['app'], function (app) { }); } else { if(currentObj.type != 'i-text') { - $scope.iText = new fabric.IText('', { + var _iText = new fabric.IText('', { left: 150, top: 200, fontFamily: typeof $scope.itemFont != 'undefined' ? $scope.listFontFamily[$scope.itemFont].slug : $scope.listFontFamily[0].slug, @@ -531,20 +537,18 @@ define(['app'], function (app) { editable: false }); } else{ - $scope.iText = currentObj; + var _iText = currentObj; } } - }; - //Design text - $scope.inputText = function(e) { - if(typeof $scope.iText != "undefined") { - var iText = $scope.iText; - iText.text = e; - canvas.add(iText); - canvas.renderAll(); - canvas.setActiveObject(iText); - } + _iText.set('text', e); + if(e.length > 1 && canvas.getActiveObject()) + canvas.getActiveObject().remove(); + + canvas.add(_iText); + canvas.setActiveObject(_iText); + canvas.renderAll(); + }; $scope.setFontFamily = function(font,index) { $scope.itemFont = index; diff --git a/app/views/design_part/text.html b/app/views/design_part/text.html index d9e7096..0347a60 100644 --- a/app/views/design_part/text.html +++ b/app/views/design_part/text.html @@ -5,7 +5,7 @@