Commit 4d7dab16fa0162f1383f7e8dfa41e5667662a446

Authored by DANG
1 parent 0ba7cbbc4e
Exists in master and in 1 other branch develop

Clean code

Showing 3 changed files with 62 additions and 18 deletions Inline Diff

app/scripts/controllers/main.js
1 define(['app'], function (app) { 1 define(['app'], function (app) {
2 'use strict'; 2 'use strict';
3 app.controller('MainCtrl', function ($rootScope, $scope, $timeout, $illustration, $t_shirt, $routeParams) { 3 app.controller('MainCtrl', function ($rootScope, $scope, $timeout, $illustration, $t_shirt, $routeParams) {
4 // console.log($('nav').width()); 4 //Define and init var
5 $rootScope.API_URL = 'http://domain.com'; 5 $rootScope.API_URL = 'http://domain.com';
6 $scope.designFrameView = 'views/tshirt-design.html?ver='+VERSION; 6 $scope.designFrameView = 'views/tshirt-design.html?ver='+VERSION;
7 $scope.designPartIllustration = 'views/design_part/illustration.html?ver='+VERSION; 7 $scope.designPartIllustration = 'views/design_part/illustration.html?ver='+VERSION;
8 $scope.designPartImage = 'views/design_part/image.html?ver='+VERSION; 8 $scope.designPartImage = 'views/design_part/image.html?ver='+VERSION;
9 $scope.designPartText = 'views/design_part/text.html?ver='+VERSION; 9 $scope.designPartText = 'views/design_part/text.html?ver='+VERSION;
10 $scope.designPartDefault = 'views/design_part/default.html?ver='+VERSION; 10 $scope.designPartDefault = 'views/design_part/default.html?ver='+VERSION;
11
12 //Action T-Shirt choice color and Back or Front
13 var currentTShirtKey = 0; 11 var currentTShirtKey = 0;
12 var placeTShirt;
13 var tShirtColorFirstKey = 0;
14 $scope.tShirtChoiceBackFrontKey = 'front';
15 $scope.tShirtColorKey = tShirtColorFirstKey;
16
17 /**
18 * Get param route
19 * @type {any}
20 * @private
21 */
14 var _routeParams = $routeParams; 22 var _routeParams = $routeParams;
15 if(typeof _routeParams.tShirt != 'undefined') 23 if(typeof _routeParams.tShirt != 'undefined')
16 currentTShirtKey = _routeParams.tShirt - 1; 24 currentTShirtKey = _routeParams.tShirt - 1;
25 if(typeof _routeParams.place != 'undefined')
26 placeTShirt = _routeParams.place;
17 27
28
29 /**
30 * Get all info TShirt
31 * @param: id
32 * @return: object
33 */
18 $scope.tShirtColor = $t_shirt.getTShirtColor(currentTShirtKey); 34 $scope.tShirtColor = $t_shirt.getTShirtColor(currentTShirtKey);
19 //Set color name default
20 var tShirtColorFirstKey = 0;
21 $scope.tShirtChoiceBackFrontKey = 'front';
22 $scope.tShirtColorKey = tShirtColorFirstKey;
23 $rootScope.tShirtColorCode = $scope.tShirtColor[tShirtColorFirstKey].code; 35 $rootScope.tShirtColorCode = $scope.tShirtColor[tShirtColorFirstKey].code;
24 $scope.tShirtColorName = $scope.tShirtColor[tShirtColorFirstKey].name; 36 $scope.tShirtColorName = $scope.tShirtColor[tShirtColorFirstKey].name;
25 $scope.tShirtImgFront = $scope.tShirtColor[tShirtColorFirstKey].img.front; 37 $scope.tShirtImgFront = $scope.tShirtColor[tShirtColorFirstKey].img.front;
26 $scope.tShirtImgBack = $scope.tShirtColor[tShirtColorFirstKey].img.back; 38 $scope.tShirtImgBack = $scope.tShirtColor[tShirtColorFirstKey].img.back;
27 $scope.tShirtImg = $scope.tShirtImgFront; 39 $scope.tShirtImg = $scope.tShirtImgFront;
28
29 40
30 //review design set position 41 /**
42 * Set preview size and position
43 */
31 function setSizePreViewDesign() { 44 function setSizePreViewDesign() {
32 var _widthPreviewDesign = $('#preview-design').width(); 45 var _widthPreviewDesign = $('#preview-design').width();
33 var _widthTShirtImage = $('.tshirt-image').width(); 46 var _widthTShirtImage = $('.tshirt-image').width();
34 var leftReviewDesign = _widthTShirtImage/2 - (_widthPreviewDesign/2); 47 var leftReviewDesign = _widthTShirtImage/2 - (_widthPreviewDesign/2);
35 $('#preview-design').css({left: leftReviewDesign}); 48 $('#preview-design').css({left: leftReviewDesign});
36 } 49 }
37 setSizePreViewDesign(); 50 setSizePreViewDesign();
38 //event resize window
39 $(window).resize(function () { 51 $(window).resize(function () {
40 setSizePreViewDesign(); 52 setSizePreViewDesign();
41 }); 53 });
42 54 /**
55 * Choice color t-shirt
56 * @param key
57 */
43 $scope.choiceTShirtColor = function(key) { 58 $scope.choiceTShirtColor = function(key) {
44 $scope.tShirtColorKey = key; 59 $scope.tShirtColorKey = key;
45 $rootScope.tShirtColorCode = $scope.tShirtColor[key].code; 60 var tShirtColor = $scope.tShirtColor[key];
46 $scope.tShirtColorName = $scope.tShirtColor[key].name; 61 $rootScope.tShirtColorCode = tShirtColor.code;
47 $scope.tShirtImgFront = $scope.tShirtColor[key].img.front; 62 $scope.tShirtColorName = tShirtColor.name;
48 $scope.tShirtImgBack = $scope.tShirtColor[key].img.back; 63 $scope.tShirtImgFront = tShirtColor.img.front;
64 $scope.tShirtImgBack = tShirtColor.img.back;
49 if($scope.tShirtChoiceBackFrontKey == 'front') { 65 if($scope.tShirtChoiceBackFrontKey == 'front') {
50 $scope.tShirtImg = $scope.tShirtImgFront; 66 $scope.tShirtImg = $scope.tShirtImgFront;
51 } else { 67 } else {
52 $scope.tShirtImg = $scope.tShirtImgBack; 68 $scope.tShirtImg = $scope.tShirtImgBack;
53 } 69 }
54 }; 70 };
71 /**
72 * Choice back or front t-shirt
73 * @param choice
74 */
55 $scope.choiceTShirtBackFront = function(choice) { 75 $scope.choiceTShirtBackFront = function(choice) {
56 if(choice == 'front') { 76 if(choice == 'front') {
57 $scope.tShirtImg = $scope.tShirtImgFront; 77 $scope.tShirtImg = $scope.tShirtImgFront;
58 } else { 78 } else {
59 $scope.tShirtImg = $scope.tShirtImgBack; 79 $scope.tShirtImg = $scope.tShirtImgBack;
60 } 80 }
61 $scope.tShirtChoiceBackFrontKey = choice; 81 $scope.tShirtChoiceBackFrontKey = choice;
62 }; 82 };
63 83
64 //safeApply 84 //safeApply
65 $rootScope.safeApply = function(fn) { 85 $rootScope.safeApply = function(fn) {
66 var phase = this.$root.$$phase; 86 var phase = this.$root.$$phase;
67 if(phase == '$apply' || phase == '$digest') { 87 if(phase == '$apply' || phase == '$digest') {
68 if(fn && (typeof(fn) === 'function')) { 88 if(fn && (typeof(fn) === 'function')) {
69 fn(); 89 fn();
70 } 90 }
71 } else { 91 } else {
72 this.$apply(fn); 92 this.$apply(fn);
73 } 93 }
74 }; 94 };
75 95 /**
96 * Open modal design
97 */
76 $scope.modalTShirtDesign = function() { 98 $scope.modalTShirtDesign = function() {
77 $('#tshirt-design').modal( 99 $('#tshirt-design').modal(
78 { 100 {
79 backdrop: 'static', 101 backdrop: 'static',
80 keyboard: false 102 keyboard: false
81 } 103 }
82 ); 104 );
83 105
84 }; 106 };
107 /**
app/scripts/routes.js
1 define([], function(){ 1 define([], function(){
2 'use strict'; 2 'use strict';
3 return { 3 return {
4 defaultRoutePaths: '/1', 4 defaultRoutePaths: '/1',
5 routes: { 5 routes: {
6 '/:tShirt': { 6 '/:tShirt/:place': {
7 templateUrl: 'views/main.html', 7 templateUrl: 'views/main.html',
8 dependencies: [ 8 dependencies: [
9 'scripts/controllers/main.js', 9 'scripts/controllers/main.js',
10 'scripts/controllers/tshirtdesign.js', 10 'scripts/controllers/tshirtdesign.js',
11 'scripts/services/illustration.js', 11 'scripts/services/illustration.js',
12 'scripts/services/tshirt.js' 12 'scripts/services/tshirt.js'
13 ] 13 ]
14 }, 14 },
15 } 15 }
16 }; 16 };
17 }); 17 });
app/scripts/services/tshirt.js
1 define(['app'], function (app) { 1 define(['app'], function (app) {
2 'use strict'; 2 'use strict';
3 3
4 app.factory('$t_shirt', function ($http, $rootScope) { 4 app.factory('$t_shirt', function ($http, $rootScope) {
5 var DATA = [ 5 var DATA = [
6 { 6 {
7 info: { 7 info: {
8 name: 'T-Shirt 1', 8 name: 'T-Shirt 1',
9 description: '', 9 description: '',
10 price: '', 10 price: '',
11 gender: '', 11 gender: '',
12 image: '' 12 image: ''
13 }, 13 },
14 place_design: {}, 14 place_design: {
15 'place_1' : {
16 'face' : 'front',
17 'place' : 't_shirt_p_1'
18 },
19 'place_2' : {
20 'face' : 'front',
21 'place' : 't_shirt_p_2'
22 },
23 'place_3' : {
24 'face' : 'front',
25 'place' : 't_shirt_p_3'
26 }
27 },
15 color: [ 28 color: [
16 { 29 {
17 name: 'color: 2E GRAY', 30 name: 'color: 2E GRAY',
18 code: '#d0d0cd', 31 code: '#d0d0cd',
19 img: { 32 img: {
20 front: 'images/t-shirt/1/gray/front.png', 33 front: 'images/t-shirt/1/gray/front.png',
21 back: 'images/t-shirt/1/gray/back.png' 34 back: 'images/t-shirt/1/gray/back.png'
22 }, 35 },
23 }, 36 },
24 { 37 {
25 name: 'color: 00 BLACK', 38 name: 'color: 00 BLACK',
26 code: '#23282e', 39 code: '#23282e',
27 img: { 40 img: {
28 front: 'images/t-shirt/1/black/front.png', 41 front: 'images/t-shirt/1/black/front.png',
29 back: 'images/t-shirt/1/black/back.png' 42 back: 'images/t-shirt/1/black/back.png'
30 }, 43 },
31 }, 44 },
32 { 45 {
33 name: 'color: 3B ORANGE', 46 name: 'color: 3B ORANGE',
34 code: '#e2583b', 47 code: '#e2583b',
35 img: { 48 img: {
36 front: 'images/t-shirt/1/orange/front.png', 49 front: 'images/t-shirt/1/orange/front.png',
37 back: 'images/t-shirt/1/orange/back.png' 50 back: 'images/t-shirt/1/orange/back.png'
38 }, 51 },
39 } 52 }
40 ] 53 ]
41 }, 54 },
42 { 55 {
43 info: { 56 info: {
44 name: 'T-Shirt 2', 57 name: 'T-Shirt 2',
45 description: '', 58 description: '',
46 price: '', 59 price: '',
47 gender: '', 60 gender: '',
48 image: '' 61 image: ''
49 }, 62 },
50 place_design: {}, 63 place_design: {},
51 color: [ 64 color: [
52 { 65 {
53 name: 'color:03 GRAY', 66 name: 'color:03 GRAY',
54 code: '#b2b4b2', 67 code: '#b2b4b2',
55 img: { 68 img: {
56 front: 'images/t-shirt/2/gray/front.png', 69 front: 'images/t-shirt/2/gray/front.png',
57 back: 'images/t-shirt/2/gray/back.png' 70 back: 'images/t-shirt/2/gray/back.png'
58 }, 71 },
59 }, 72 },
60 { 73 {
61 name: 'color:08 DARK GRAY', 74 name: 'color:08 DARK GRAY',
62 code: '#37383d', 75 code: '#37383d',
63 img: { 76 img: {
64 front: 'images/t-shirt/2/darkgray/front.png', 77 front: 'images/t-shirt/2/darkgray/front.png',
65 back: 'images/t-shirt/2/darkgray/back.png' 78 back: 'images/t-shirt/2/darkgray/back.png'
66 }, 79 },
67 }, 80 },
68 { 81 {
69 name: 'color:09 BLACK', 82 name: 'color:09 BLACK',
70 code: '#292929', 83 code: '#292929',
71 img: { 84 img: {
72 front: 'images/t-shirt/2/black/front.png', 85 front: 'images/t-shirt/2/black/front.png',
73 back: 'images/t-shirt/2/black/back.png' 86 back: 'images/t-shirt/2/black/back.png'
74 }, 87 },
75 }, 88 },
76 { 89 {
77 name: 'color:12 PINK', 90 name: 'color:12 PINK',
78 code: '#ca6965', 91 code: '#ca6965',
79 img: { 92 img: {
80 front: 'images/t-shirt/2/pink/front.png', 93 front: 'images/t-shirt/2/pink/front.png',
81 back: 'images/t-shirt/2/pink/back.png' 94 back: 'images/t-shirt/2/pink/back.png'
82 }, 95 },
83 }, 96 },
84 { 97 {
85 name: 'color:18 WINE', 98 name: 'color:18 WINE',
86 code: '#661e2e', 99 code: '#661e2e',
87 img: { 100 img: {
88 front: 'images/t-shirt/2/wine/front.png', 101 front: 'images/t-shirt/2/wine/front.png',
89 back: 'images/t-shirt/2/wine/back.png' 102 back: 'images/t-shirt/2/wine/back.png'
90 }, 103 },
91 }, 104 },
92 { 105 {
93 name: 'color:26 ORANGE', 106 name: 'color:26 ORANGE',
94 code: '#bf6037', 107 code: '#bf6037',
95 img: { 108 img: {
96 front: 'images/t-shirt/2/orange/front.png', 109 front: 'images/t-shirt/2/orange/front.png',
97 back: 'images/t-shirt/2/orange/back.png' 110 back: 'images/t-shirt/2/orange/back.png'
98 }, 111 },
99 }, 112 },
100 { 113 {
101 name: 'color:57 OLIVE', 114 name: 'color:57 OLIVE',
102 code: '#4c442e', 115 code: '#4c442e',
103 img: { 116 img: {
104 front: 'images/t-shirt/2/olive/front.png', 117 front: 'images/t-shirt/2/olive/front.png',
105 back: 'images/t-shirt/2/olive/back.png' 118 back: 'images/t-shirt/2/olive/back.png'
106 }, 119 },
107 }, 120 },
108 { 121 {
109 name: 'color:58 DARK GREEN', 122 name: 'color:58 DARK GREEN',
110 code: '#204344', 123 code: '#204344',
111 img: { 124 img: {
112 front: 'images/t-shirt/2/darkgreen/front.png', 125 front: 'images/t-shirt/2/darkgreen/front.png',
113 back: 'images/t-shirt/2/darkgreen/back.png' 126 back: 'images/t-shirt/2/darkgreen/back.png'
114 }, 127 },
115 }, 128 },
116 { 129 {
117 name: 'color:69 NAVY', 130 name: 'color:69 NAVY',
118 code: '#2a2d3c', 131 code: '#2a2d3c',
119 img: { 132 img: {
120 front: 'images/t-shirt/2/navi/front.png', 133 front: 'images/t-shirt/2/navi/front.png',
121 back: 'images/t-shirt/2/navi/back.png' 134 back: 'images/t-shirt/2/navi/back.png'
122 }, 135 },
123 } 136 }
124 ] 137 ]
125 } 138 }
126 ]; 139 ];
127 140
128 return { 141 return {
129 getTShirtColor : function(key) { 142 getTShirtColor : function(key) {
130 if (typeof DATA[key] == 'undefined'){ 143 if (typeof DATA[key] == 'undefined'){
131 return []; 144 return [];
132 } 145 }
133 return DATA[key]['color']; 146 return DATA[key]['color'];
147 },
148 getTShirtPlace : function(key, place) {
149 if(typeof DATA[key].place_design.place == 'undefined' || typeof DATA[key].place_design.place == 'null')
150 return [];
151
152 return DATA[key].place_design.place;
134 }, 153 },
135 154
136 getAll: function(){ 155 getAll: function(){
137 return DATA; 156 return DATA;
138 }, 157 },
139 getList: function(category){ 158 getList: function(category){
140 if (typeof DATA[category] == 'undefined'){ 159 if (typeof DATA[category] == 'undefined'){
141 return []; 160 return [];
142 } 161 }
143 return DATA[category]; 162 return DATA[category];
144 } 163 }
145 }; 164 };
146 }); 165 });
147 }); 166 });
148 167