瀏覽代碼

Add function encapsulation to all js files

Lily Carpenter 10 年之前
父節點
當前提交
e3208fe067
共有 5 個文件被更改,包括 160 次插入140 次删除
  1. 27 23
      www/js/app.js
  2. 27 23
      www/js/controllers/noteCtrl.js
  3. 23 19
      www/js/controllers/randomCtrl.js
  4. 28 24
      www/js/services/notes.js
  5. 55 51
      www/js/services/stupid.js

+ 27 - 23
www/js/app.js

@@ -1,25 +1,29 @@
1
-angular.module('bootcampApp', ['ngRoute'])
2
-  .config(function($routeProvider){
3
-    $routeProvider
4
-      .when('/randomNumber', {
5
-        templateUrl: 'partials/random.html',
6
-        controller: 'randomCtrl',
7
-        resolve: {
8
-          randomNumbers: function(Stupid){
9
-            return Stupid.getRandomNumbers();
1
+(function (){
2
+  'use strict';
3
+
4
+  angular.module('bootcampApp', ['ngRoute'])
5
+    .config(function($routeProvider){
6
+      $routeProvider
7
+        .when('/randomNumber', {
8
+          templateUrl: 'partials/random.html',
9
+          controller: 'randomCtrl',
10
+          resolve: {
11
+            randomNumbers: function(Stupid){
12
+              return Stupid.getRandomNumbers();
13
+            }
10 14
           }
11
-        }
12
-      })
13
-      .when('/', {
14
-        templateUrl: 'partials/main.html',
15
-        controller: 'noteCtrl',
16
-        resolve: {
17
-          defaultNote: function(Notes){
18
-            return Notes.getDefaultNote();
15
+        })
16
+        .when('/', {
17
+          templateUrl: 'partials/main.html',
18
+          controller: 'noteCtrl',
19
+          resolve: {
20
+            defaultNote: function(Notes){
21
+              return Notes.getDefaultNote();
22
+            }
19 23
           }
20
-        }
21
-      })
22
-      .otherwise({
23
-        redirectTo: '/'
24
-      });
25
-  });
24
+        })
25
+        .otherwise({
26
+          redirectTo: '/'
27
+        });
28
+    });
29
+})();

+ 27 - 23
www/js/controllers/noteCtrl.js

@@ -1,27 +1,31 @@
1
-angular.module('bootcampApp')
2
-  .controller('noteCtrl', function(Notes, $scope, defaultNote){
3
-    $scope.notes = Notes.getData();
4
-    var fallbackNote = {
5
-      "title": "Fallback title",
6
-      "body": "Fallback body"
7
-    };
1
+(function(){
2
+  'use strict';
8 3
 
9
-    $scope.newNote = defaultNote.data;
4
+  angular.module('bootcampApp')
5
+    .controller('noteCtrl', function(Notes, $scope, defaultNote){
6
+      $scope.notes = Notes.getData();
7
+      var fallbackNote = {
8
+        "title": "Fallback title",
9
+        "body": "Fallback body"
10
+      };
10 11
 
11
-    $scope.createNote = function(newNote){
12
-      newNote.createdDate = new Date();
13
-      $scope.notes.push(Notes.cloneNote(newNote));
14
-      $scope.newNote = defaultNote;
15
-      Notes.saveData($scope.notes);
16
-    };
12
+      $scope.newNote = defaultNote.data;
17 13
 
18
-    $scope.deleteNote = function(note){
19
-      $scope.notes.splice($scope.notes.indexOf(note), 1);
20
-      Notes.saveData($scope.notes);
21
-    };
14
+      $scope.createNote = function(newNote){
15
+        newNote.createdDate = new Date();
16
+        $scope.notes.push(Notes.cloneNote(newNote));
17
+        $scope.newNote = defaultNote;
18
+        Notes.saveData($scope.notes);
19
+      };
22 20
 
23
-    $scope.deleteAllNotes = function(){
24
-      $scope.notes = [];
25
-      Notes.saveData($scope.notes);
26
-    };
27
-  });
21
+      $scope.deleteNote = function(note){
22
+        $scope.notes.splice($scope.notes.indexOf(note), 1);
23
+        Notes.saveData($scope.notes);
24
+      };
25
+
26
+      $scope.deleteAllNotes = function(){
27
+        $scope.notes = [];
28
+        Notes.saveData($scope.notes);
29
+      };
30
+    });
31
+})();

+ 23 - 19
www/js/controllers/randomCtrl.js

@@ -1,27 +1,31 @@
1
-angular.module('bootcampApp')
2
-  .controller('randomCtrl', function(Stupid, $scope, $q, randomNumbers){
3
-    function startGeneration(numbers){
4
-      return Stupid.startNumberGeneration(numbers);
5
-    }
1
+(function (){
2
+  'use strict';
6 3
 
7
-    function logMessage(message){
8
-      console.log(message);
9
-    }
4
+  angular.module('bootcampApp')
5
+    .controller('randomCtrl', function(Stupid, $scope, $q, randomNumbers){
6
+      function startGeneration(numbers){
7
+        return Stupid.startNumberGeneration(numbers);
8
+      }
10 9
 
11
-    var promiseOne = startGeneration(randomNumbers.slice(0, 3)),
12
-        promiseTwo = startGeneration(randomNumbers.slice(3, 6)),
13
-        promiseThree = startGeneration(randomNumbers.slice(6, 9));
10
+      function logMessage(message){
11
+        console.log(message);
12
+      }
14 13
 
15
-    promiseOne.then(logMessage);
14
+      var promiseOne = startGeneration(randomNumbers.slice(0, 3)),
15
+          promiseTwo = startGeneration(randomNumbers.slice(3, 6)),
16
+          promiseThree = startGeneration(randomNumbers.slice(6, 9));
16 17
 
17
-    promiseTwo.then(logMessage);
18
+      promiseOne.then(logMessage);
18 19
 
19
-    promiseThree.then(logMessage);
20
+      promiseTwo.then(logMessage);
20 21
 
22
+      promiseThree.then(logMessage);
21 23
 
22
-    $q.all([promiseOne, promiseTwo, promiseThree]).then(function(data){
23
-      console.log("All numbers found");
24
-      console.log(data);
25
-      $scope.message = data;
24
+
25
+      $q.all([promiseOne, promiseTwo, promiseThree]).then(function(data){
26
+        console.log("All numbers found");
27
+        console.log(data);
28
+        $scope.message = data;
29
+      });
26 30
     });
27
-  });
31
+})();

+ 28 - 24
www/js/services/notes.js

@@ -1,29 +1,33 @@
1
-angular.module('bootcampApp')
2
-  .service('Notes', function($http){
3
-    function cloneNote(note){
4
-      var my_note = {};
5
-      my_note.body = note.body;
6
-      my_note.title = note.title;
7
-      my_note.createdDate = note.createdDate;
8
-      return my_note;
9
-    }
1
+(function (){
2
+  'use strict';
10 3
 
11
-    function saveData(data){
12
-      window.localStorage['noteStorage'] = angular.toJson(data);
13
-    }
4
+  angular.module('bootcampApp')
5
+    .service('Notes', function($http){
6
+      function cloneNote(note){
7
+        var my_note = {};
8
+        my_note.body = note.body;
9
+        my_note.title = note.title;
10
+        my_note.createdDate = note.createdDate;
11
+        return my_note;
12
+      }
14 13
 
15
-    function getData(){
16
-      var data = window.localStorage['noteStorage'] || [];
17
-      return angular.fromJson(data);
18
-    }
14
+      function saveData(data){
15
+        window.localStorage['noteStorage'] = angular.toJson(data);
16
+      }
19 17
 
20
-    function getDefaultNote(){
21
-      return $http.get('default_note.json');
22
-    }
18
+      function getData(){
19
+        var data = window.localStorage['noteStorage'] || [];
20
+        return angular.fromJson(data);
21
+      }
23 22
 
23
+      function getDefaultNote(){
24
+        return $http.get('default_note.json');
25
+      }
24 26
 
25
-    this.cloneNote = cloneNote;
26
-    this.saveData = saveData;
27
-    this.getData = getData;
28
-    this.getDefaultNote = getDefaultNote;
29
-  });
27
+
28
+      this.cloneNote = cloneNote;
29
+      this.saveData = saveData;
30
+      this.getData = getData;
31
+      this.getDefaultNote = getDefaultNote;
32
+    });
33
+})();

+ 55 - 51
www/js/services/stupid.js

@@ -1,55 +1,59 @@
1
-angular.module('bootcampApp')
2
-  .service('Stupid', function($rootScope, $q, $http){
3
-    function randomIntFromInterval(min,max)
4
-    {
5
-      return Math.floor(Math.random()*(max-min+1)+min);
6
-    }
7
-
8
-    function getRandomNumbers(){
9
-      return $http.get("http://www.random.org/integers/", {
10
-        params: {
11
-          num: 9,
12
-          min: 1,
13
-          max: 5000,
14
-          col: 1,
15
-          base: 10,
16
-          format: 'plain',
17
-          rnd: 'new'
18
-        }
19
-      }).then(function(response){
20
-        return _(response.data.split ("\n")).compact().map(function(element){
21
-          return parseInt(element, 10);
22
-        });
23
-      });
24
-    };
25
-
26
-    function startNumberGeneration(numbers_to_find){
27
-      numbers_to_find = numbers_to_find.value();
28
-      var deferred = $q.defer();
29
-      var p = deferred.promise;
30
-
31
-      $rootScope.$evalAsync(function(){
32
-        var min = 1,
33
-            max = 5000;
34
-        var newNumber = null;
35
-        var found_numbers = [];
36
-        var number_index = 0;
37
-
38
-        do {
39
-          newNumber = randomIntFromInterval(min, max);
40
-          number_index = numbers_to_find.indexOf(newNumber);
41
-          if(number_index > -1){
42
-            found_numbers.push(newNumber);
43
-            numbers_to_find.splice(number_index, 1);
1
+(function (){
2
+  'use strict';
3
+
4
+  angular.module('bootcampApp')
5
+    .service('Stupid', function($rootScope, $q, $http){
6
+      function randomIntFromInterval(min,max)
7
+      {
8
+        return Math.floor(Math.random()*(max-min+1)+min);
9
+      }
10
+
11
+      function getRandomNumbers(){
12
+        return $http.get("http://www.random.org/integers/", {
13
+          params: {
14
+            num: 9,
15
+            min: 1,
16
+            max: 5000,
17
+            col: 1,
18
+            base: 10,
19
+            format: 'plain',
20
+            rnd: 'new'
44 21
           }
45
-        }while(numbers_to_find.length > 0);
22
+        }).then(function(response){
23
+          return _(response.data.split ("\n")).compact().map(function(element){
24
+            return parseInt(element, 10);
25
+          });
26
+        });
27
+      };
46 28
 
47
-        deferred.resolve("Magic numbers are: " + found_numbers);
48
-      });
29
+      function startNumberGeneration(numbers_to_find){
30
+        numbers_to_find = numbers_to_find.value();
31
+        var deferred = $q.defer();
32
+        var p = deferred.promise;
33
+
34
+        $rootScope.$evalAsync(function(){
35
+          var min = 1,
36
+              max = 5000;
37
+          var newNumber = null;
38
+          var found_numbers = [];
39
+          var number_index = 0;
40
+
41
+          do {
42
+            newNumber = randomIntFromInterval(min, max);
43
+            number_index = numbers_to_find.indexOf(newNumber);
44
+            if(number_index > -1){
45
+              found_numbers.push(newNumber);
46
+              numbers_to_find.splice(number_index, 1);
47
+            }
48
+          }while(numbers_to_find.length > 0);
49
+
50
+          deferred.resolve("Magic numbers are: " + found_numbers);
51
+        });
49 52
 
50
-      return p;
51
-    }
53
+        return p;
54
+      }
52 55
 
53
-    this.getRandomNumbers = getRandomNumbers;
54
-    this.startNumberGeneration = startNumberGeneration;
55
-  });
56
+      this.getRandomNumbers = getRandomNumbers;
57
+      this.startNumberGeneration = startNumberGeneration;
58
+    });
59
+})();