diff --git a/app/Http/Controllers/designer/DesignerController.php b/app/Http/Controllers/designer/DesignerController.php index 802d153..7c4ead5 100644 --- a/app/Http/Controllers/designer/DesignerController.php +++ b/app/Http/Controllers/designer/DesignerController.php @@ -382,9 +382,9 @@ class DesignerController extends Controller {
- + - +
@@ -442,9 +442,13 @@ class DesignerController extends Controller { - + + + + + @@ -462,49 +466,49 @@ class DesignerController extends Controller { $getTemPlateCode = $tempDecode[0]->templateCode; $designCode = sha1(time() . "-" .date('ymd')); - if(isset($post['json_Jersey_Front'])){ - $json_Jersey_Front = $post['json_Jersey_Front']; + if(isset($post['json_Front'])){ + $json_Front = $post['json_Front']; }else{ - $json_Jersey_Front = null; + $json_Front = null; } - if(isset($post['json_Jersey_Back'])){ - $json_Jersey_Back = $post['json_Jersey_Back']; + if(isset($post['json_Back'])){ + $json_Back = $post['json_Back']; }else{ - $json_Jersey_Back = null; + $json_Back = null; } - if(isset($post['json_Shorts_Left'])){ - $json_Shorts_Left = $post['json_Shorts_Left']; + if(isset($post['json_Left'])){ + $json_Left = $post['json_Left']; }else{ - $json_Shorts_Left = null; + $json_Left = null; } - if(isset($post['json_Shorts_Right'])){ - $json_Shorts_Right = $post['json_Shorts_Right']; + if(isset($post['json_Right'])){ + $json_Right = $post['json_Right']; }else{ - $json_Shorts_Right = null; + $json_Right = null; } - if(isset($post['json_Shirts_Front'])){ - $json_Jersey_Front = $post['json_Shirts_Front']; - } + // if(isset($post['json_Shirts_Front'])){ + // $json_Jersey_Front = $post['json_Shirts_Front']; + // } - if(isset($post['json_Shirts_Back'])){ - $json_Jersey_Back = $post['json_Shirts_Back']; - } + // if(isset($post['json_Shirts_Back'])){ + // $json_Jersey_Back = $post['json_Shirts_Back']; + // } try { $design_info = array( - 'ClientId' => $clientId, - 'DesignName' => $design_name, - 'TemplateCode' => $getTemPlateCode, - 'DesignCode' => $designCode, - 'TemplateDesign' => $post['templateDetails'], - 'ContentFrontJersey' => $json_Jersey_Front, - 'ContentBackJersey' => $json_Jersey_Back, - 'ContentLeftShorts' => $json_Shorts_Left, - 'ContentRightShorts' => $json_Shorts_Right + 'ClientId' => $clientId, + 'DesignName' => $design_name, + 'TemplateCode' => $getTemPlateCode, + 'DesignCode' => $designCode, + 'TemplateDesign'=> $post['templateDetails'], + 'ContentFront' => $json_Front, + 'ContentBack' => $json_Back, + 'ContentLeft' => $json_Left, + 'ContentRight' => $json_Right ); } @@ -547,12 +551,15 @@ class DesignerController extends Controller { // var_dump($this->getProductCode()); $templatepaths_arrays = $newDesignerModel->selectTemplatePathsByTemplateCode($client_design_array[0]->TemplateCode); $array_cat_name = $newMainModel->selectCategoryName($client_design_array[0]->TemplateCode); - // var_dump($array_cat_name); + $array_cat_name = $newMainModel->selectCategoryName($client_design_array[0]->TemplateCode); + $array_templates = $newDesignerModel->selectTemplate(md5($client_design_array[0]->TemplateCode)); + // var_dump($array_templates); return view('designer.design_preview') ->with('client_design_array', $client_design_array) ->with('templatepaths_arrays', $templatepaths_arrays) ->with('teamstore_array', $teamstore_array) - ->with('array_cat_name', $array_cat_name); + ->with('array_cat_name', $array_cat_name) + ->with('array_templates', $array_templates); } protected function getProductCode() diff --git a/public/designer/js/aligning_guidelines.js b/public/designer/js/aligning_guidelines.js new file mode 100644 index 0000000..93669a7 --- /dev/null +++ b/public/designer/js/aligning_guidelines.js @@ -0,0 +1,88 @@ +/** + * Augments canvas by assigning to `onObjectMove` and `onAfterRender`. + * This kind of sucks because other code using those methods will stop functioning. + * Need to fix it by replacing callbacks with pub/sub kind of subscription model. + * (or maybe use existing fabric.util.fire/observe (if it won't be too slow)) + */ +function initCenteringGuidelines(canvas) { + + var canvasWidth = canvas.getWidth(), + canvasHeight = canvas.getHeight(), + canvasWidthCenter = canvasWidth / 2, + canvasHeightCenter = canvasHeight / 2, + canvasWidthCenterMap = { }, + canvasHeightCenterMap = { }, + centerLineMargin = 4, + centerLineColor = 'rgba(255,0,241,0.5)', + centerLineWidth = 1, + ctx = canvas.getSelectionContext(), + viewportTransform; + + for (var i = canvasWidthCenter - centerLineMargin, len = canvasWidthCenter + centerLineMargin; i <= len; i++) { + canvasWidthCenterMap[Math.round(i)] = true; + } + for (var i = canvasHeightCenter - centerLineMargin, len = canvasHeightCenter + centerLineMargin; i <= len; i++) { + canvasHeightCenterMap[Math.round(i)] = true; + } + + function showVerticalCenterLine() { + showCenterLine(canvasWidthCenter + 0.5, 0, canvasWidthCenter + 0.5, canvasHeight); + } + + function showHorizontalCenterLine() { + showCenterLine(0, canvasHeightCenter + 0.5, canvasWidth, canvasHeightCenter + 0.5); + } + + function showCenterLine(x1, y1, x2, y2) { + ctx.save(); + ctx.strokeStyle = centerLineColor; + ctx.lineWidth = centerLineWidth; + ctx.beginPath(); + ctx.moveTo(x1 * viewportTransform[0], y1 * viewportTransform[3]); + ctx.lineTo(x2 * viewportTransform[0], y2 * viewportTransform[3]); + ctx.stroke(); + ctx.restore(); + } + + var afterRenderActions = [], + isInVerticalCenter, + isInHorizontalCenter; + + canvas.on('mouse:down', function () { + viewportTransform = canvas.viewportTransform; + }); + + canvas.on('object:moving', function(e) { + var object = e.target, + objectCenter = object.getCenterPoint(), + transform = canvas._currentTransform; + + if (!transform) return; + + isInVerticalCenter = Math.round(objectCenter.x) in canvasWidthCenterMap, + isInHorizontalCenter = Math.round(objectCenter.y) in canvasHeightCenterMap; + + if (isInHorizontalCenter || isInVerticalCenter) { + object.setPositionByOrigin(new fabric.Point((isInVerticalCenter ? canvasWidthCenter : objectCenter.x), (isInHorizontalCenter ? canvasHeightCenter : objectCenter.y)), 'center', 'center'); + } + }); + + canvas.on('before:render', function() { + canvas.clearContext(canvas.contextTop); + }); + + canvas.on('after:render', function() { + if (isInVerticalCenter) { + showVerticalCenterLine(); + } + if (isInHorizontalCenter) { + showHorizontalCenterLine(); + } + }); + + canvas.on('mouse:up', function() { + // clear these values, to stop drawing guidelines once mouse is up + isInVerticalCenter = isInHorizontalCenter = null; + canvas.renderAll(); + }); + } \ No newline at end of file diff --git a/resources/views/app.blade.php b/resources/views/app.blade.php index dbac941..84dbb3c 100644 --- a/resources/views/app.blade.php +++ b/resources/views/app.blade.php @@ -68,8 +68,17 @@ - + +