create domains working

James Peret 9 years ago
parent
commit
befa91c2c0

+ 1 - 0
app/index.html

@@ -92,6 +92,7 @@
92 92
         <!-- build:js({.tmp,app}) scripts/scripts.js -->
93 93
         <script src="scripts/app.js"></script>
94 94
         <script src="scripts/services/userData.js"></script>
95
+        <script src="scripts/services/domainsData.js"></script>
95 96
         <script src="scripts/controllers/main.js"></script>
96 97
         <script src="scripts/controllers/domainsList.js"></script>
97 98
         <script src="scripts/controllers/signin.js"></script>

+ 2 - 1
app/scripts/app.js

@@ -21,7 +21,8 @@ angular
21 21
     'domainManagerApp.header',
22 22
     'domainManagerApp.main',
23 23
     'domainManagerApp.signin',
24
-    'domainManagerApp.domains',
24
+    'domainManagerApp.domainsData',
25
+    'domainManagerApp.domainsList',
25 26
     'domainManagerApp.addPost'
26 27
   ])
27 28
   .config(['$routeProvider', function($routeProvider) {

+ 26 - 4
app/scripts/controllers/addPost.js

@@ -74,10 +74,32 @@
74 74
 
75 75
     // Map data from api.who.pm
76 76
     $scope.mapData = function(data) {
77
-      $scope.domain.registrar = data.registrar[0];
78
-      $scope.domain.registration_date = data.creation_date[0];
79
-      $scope.domain.expiration_date = data.expiration_date[0];
80
-      $scope.domain.owner = data.contacts.registrant.name;
77
+      console.log(data);
78
+      // Data: Registrar
79
+      if(data.registrar != undefined){
80
+        $scope.domain.registrar = data.registrar[0];
81
+      } else {
82
+        $scope.domain.registrar = "";
83
+      }
84
+      // Data: Creation Date
85
+      if(data.creation_date != undefined) {
86
+        $scope.domain.registration_date = data.creation_date[0];
87
+      } else {
88
+        $scope.domain.registration_date = "";
89
+      }
90
+      // Data: Expiration Date
91
+      if(data.expiration_date != undefined) {
92
+        $scope.domain.expiration_date = data.expiration_date[0];
93
+      } else {
94
+        $scope.domain.expiration_date = "";
95
+      }
96
+      // Data Owner
97
+      if(data.contacts != undefined) {
98
+        $scope.domain.owner = data.contacts.registrant.name;
99
+      } else {
100
+        $scope.domain.owner = "";
101
+      }
102
+
81 103
     }
82 104
 
83 105
   }]);

+ 20 - 11
app/scripts/controllers/domainsList.js

@@ -7,8 +7,8 @@
7 7
  * # AboutCtrl
8 8
  * Controller of the domainManagerApp
9 9
  */
10
-angular.module('domainManagerApp.domains', ['ui.bootstrap', 'firebase'])
11
-  .controller('DomainsListController',['$scope', '$firebase', function ($scope, $firebase) {
10
+angular.module('domainManagerApp.domainsList', ['ui.bootstrap', 'firebase', 'domainManagerApp.domainsData'])
11
+  .controller('DomainsListController',['$scope', '$firebase', 'Domains', '$rootScope', function ($scope, $firebase, Domains, $rootScope) {
12 12
     // $http({
13 13
     //   method: 'GET',
14 14
     //   url: '/scripts/data.json'
@@ -16,22 +16,18 @@ angular.module('domainManagerApp.domains', ['ui.bootstrap', 'firebase'])
16 16
     //   $scope.domains = data.domains;
17 17
     // });
18 18
 
19
-    $scope.domains = [];
19
+    $scope.domains = Domains.get();
20 20
 
21
-    // Get domain list from firebase
22
-    var ref = new Firebase("https://j1x-cpanel.firebaseio.com/domains");
23
-    ref.on("child_added", function(data) {
21
+
22
+    $rootScope.$on('domains:loaded', function(domain) {
24 23
       if(!$scope.$$phase) {
25 24
         $scope.$apply(function(){
26
-          $scope.domains.push(data.val());
25
+          $scope.domains = Domains.get();
26
+          
27 27
         });
28 28
       }
29
-    }, function (errorObject) {
30
-      console.log("The read failed: " + errorObject.code);
31 29
     });
32 30
 
33
-
34
-
35 31
     $scope.oneAtATime = false;
36 32
     $scope.isOpen = false;
37 33
 
@@ -47,3 +43,16 @@ angular.module('domainManagerApp.domains', ['ui.bootstrap', 'firebase'])
47 43
     }
48 44
 
49 45
   }]);
46
+
47
+
48
+  // // Get domain list from firebase
49
+  //     var ref = new Firebase("https://j1x-cpanel.firebaseio.com/domains");
50
+  //     ref.on("child_added", function(data) {
51
+  //       if(!$scope.$$phase) {
52
+  //         $scope.$apply(function(){
53
+  //           $scope.domains.push(data.val());
54
+  //         });
55
+  //       }
56
+  //     }, function (errorObject) {
57
+  //       console.log("The read failed: " + errorObject.code);
58
+  //     });

+ 22 - 0
app/scripts/services/domainsData.js

@@ -0,0 +1,22 @@
1
+"use strict"
2
+
3
+angular.module('domainManagerApp.domainsData', ['firebase'])
4
+.service('Domains', [ '$rootScope', '$firebase', function($rootScope, $firebase) {
5
+  var domains = [];
6
+
7
+  // Get domain list from firebase
8
+  var ref = new Firebase("https://j1x-cpanel.firebaseio.com/domains");
9
+  ref.on("child_added", function(data) {
10
+    var domain = data.val();
11
+    domains.push(domain);
12
+    console.log('loading domain: ' + domain.name);
13
+    $rootScope.$broadcast('domains:loaded', domain);
14
+  }, function (errorObject) {
15
+    console.log("The read failed: " + errorObject.code);
16
+  });
17
+
18
+  this.get = function() {
19
+    return domains;
20
+  }
21
+
22
+}]);

+ 1 - 1
app/views/domains.html

@@ -1,5 +1,5 @@
1 1
 <accordion close-others="oneAtATime">
2
-  <accordion-group  ng-repeat="domain in domains" is-open="isOpen">
2
+  <accordion-group  ng-repeat="domain in domains track by $index" is-open="isOpen">
3 3
       <accordion-heading ng-click="isOpen = !isOpen">
4 4
         <i class="pull-left glyphicon"  ng-class="{'glyphicon-chevron-down': isOpen, 'glyphicon-chevron-right': !isOpen}" style="margin-right: 10px;"></i>
5 5
         {{domain.name}}