Browse Source

Add default note

Lily Carpenter 10 years ago
parent
commit
7d206b168b
3 changed files with 33 additions and 7 deletions
  1. 4 0
      www/default_note.json
  2. 19 6
      www/js/controllers/noteCtrl.js
  3. 10 1
      www/js/services/notes.js

+ 4 - 0
www/default_note.json

@@ -0,0 +1,4 @@
1
+{
2
+  "title": "A default title",
3
+  "body": "A default body"
4
+}

+ 19 - 6
www/js/controllers/noteCtrl.js

@@ -1,18 +1,31 @@
1 1
 angular.module('bootcampApp')
2 2
   .controller('NoteCtrl', function(Notes, $scope){
3
-    var defaultNote = {
4
-      "title": "I am a title",
5
-      "body": "I am a body"
3
+    $scope.notes = Notes.getData();
4
+    var fallbackNote = {
5
+      "title": "Fallback title",
6
+      "body": "Fallback body"
6 7
     };
7 8
 
8
-    $scope.notes = Notes.getData();
9
+    function defaultNote(){
10
+      console.log("Looking up stuff");
11
+      var promise = Notes.defaultNote();
12
+
13
+      promise.then(function(note){
14
+        $scope.newNote = Notes.cloneNote(note);
15
+      });
16
+
17
+      promise.catch(function(message){
18
+        console.log("Received an error");
19
+        $scope.newNote = fallbackNote;
20
+      });
21
+    }
9 22
 
10
-    $scope.newNote = Notes.cloneNote(defaultNote);
23
+    defaultNote();
11 24
 
12 25
     $scope.createNote = function(newNote){
13 26
       newNote.createdDate = new Date();
14 27
       $scope.notes.push(Notes.cloneNote(newNote));
15
-      $scope.newNote = Notes.cloneNote(defaultNote);
28
+      defaultNote();
16 29
       Notes.saveData($scope.notes);
17 30
     };
18 31
 

+ 10 - 1
www/js/services/notes.js

@@ -1,5 +1,5 @@
1 1
 angular.module('bootcampApp')
2
-  .service('Notes', function(){
2
+  .service('Notes', function($http){
3 3
     function cloneNote(note){
4 4
       var my_note = {};
5 5
       my_note.body = note.body;
@@ -17,7 +17,16 @@ angular.module('bootcampApp')
17 17
       return angular.fromJson(data);
18 18
     }
19 19
 
20
+    function getDefaultNote(){
21
+      var defaultNoteHttpPromise = $http.get('default_note.json');
22
+      return defaultNoteHttpPromise.then(function(response){
23
+        return response.data;
24
+      });
25
+    }
26
+
27
+
20 28
     this.cloneNote = cloneNote;
21 29
     this.saveData = saveData;
22 30
     this.getData = getData;
31
+    this.defaultNote = getDefaultNote;
23 32
   });