define(['app'], function (app) { 'use strict'; app.controller('MainCtrl', function ($rootScope, $scope, $timeout, $illustration, $t_shirt, $routeParams) { //Define and init var $rootScope.API_URL = 'http://domain.com'; $scope.designFrameView = 'views/tshirt-design.html?ver='+VERSION; $scope.designPartIllustration = 'views/design_part/illustration.html?ver='+VERSION; $scope.designPartImage = 'views/design_part/image.html?ver='+VERSION; $scope.designPartText = 'views/design_part/text.html?ver='+VERSION; $scope.designPartDefault = 'views/design_part/default.html?ver='+VERSION; var currentTShirtKey = 0; var placeTShirtKey = ''; var tShirtColorFirstKey = 0; $scope.tShirtChoiceBackFrontKey = 'front'; $scope.tShirtColorKey = tShirtColorFirstKey; /** * Get param route * @type {any} * @private */ var _routeParams = $routeParams; if(typeof _routeParams.tShirt != 'undefined') currentTShirtKey = _routeParams.tShirt - 1; if(typeof _routeParams.place != 'undefined') placeTShirtKey = _routeParams.place; console.log(placeTShirtKey); /** * Get all info TShirt * @param: id * @return: object */ $scope.placeTshirt = $t_shirt.getTShirtPlace(currentTShirtKey, placeTShirtKey); console.log($scope.placeTshirt); $scope.tShirtColor = $t_shirt.getTShirtColor(currentTShirtKey); $rootScope.tShirtColorCode = $scope.tShirtColor[tShirtColorFirstKey].code; $scope.tShirtColorName = $scope.tShirtColor[tShirtColorFirstKey].name; $scope.tShirtImgFront = $scope.tShirtColor[tShirtColorFirstKey].img.front; $scope.tShirtImgBack = $scope.tShirtColor[tShirtColorFirstKey].img.back; $scope.tShirtImg = $scope.tShirtImgFront; /** * Set preview size and position */ function setSizePreViewDesign() { var _widthPreviewDesign = $('#preview-design').width(); var _widthTShirtImage = $('.tshirt-image').width(); var leftReviewDesign = _widthTShirtImage/2 - (_widthPreviewDesign/2); $('#preview-design').css({left: leftReviewDesign}); } setSizePreViewDesign(); $(window).resize(function () { setSizePreViewDesign(); }); /** * Choice color t-shirt * @param key */ $scope.choiceTShirtColor = function(key) { $scope.tShirtColorKey = key; var tShirtColor = $scope.tShirtColor[key]; $rootScope.tShirtColorCode = tShirtColor.code; $scope.tShirtColorName = tShirtColor.name; $scope.tShirtImgFront = tShirtColor.img.front; $scope.tShirtImgBack = tShirtColor.img.back; if($scope.tShirtChoiceBackFrontKey == 'front') { $scope.tShirtImg = $scope.tShirtImgFront; } else { $scope.tShirtImg = $scope.tShirtImgBack; } }; /** * Choice back or front t-shirt * @param choice */ $scope.choiceTShirtBackFront = function(choice) { if(choice == 'front') { $scope.tShirtImg = $scope.tShirtImgFront; } else { $scope.tShirtImg = $scope.tShirtImgBack; } $scope.tShirtChoiceBackFrontKey = choice; }; //safeApply $rootScope.safeApply = function(fn) { var phase = this.$root.$$phase; if(phase == '$apply' || phase == '$digest') { if(fn && (typeof(fn) === 'function')) { fn(); } } else { this.$apply(fn); } }; /** * Open modal design */ $scope.modalTShirtDesign = function() { $('#tshirt-design').modal( { backdrop: 'static', keyboard: false } ); }; /** * Close modal design */ $scope.modalClose = function(){ $('#tshirt-design').modal('hide'); }; }); });