Quellcode durchsuchen

Fix: configuration for account entries listing

febbweiss vor 10 Jahren
Ursprung
Commit
7f8a225c82
4 geänderte Dateien mit 46 neuen und 5 gelöschten Zeilen
  1. 8 2
      public/index.html
  2. 1 1
      public/js/app.js
  3. 31 2
      public/js/config.js
  4. 6 0
      public/js/routes.js

+ 8 - 2
public/index.html

@@ -5,10 +5,14 @@
         <base href="/" />
         
         <title>CloudBudget</title>
-        <link rel="stylesheet" href="/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" />
-        <link rel="stylesheet" href="/libs/font-awesome/css/font-awesome.min.css" type="text/css"/>
+        
         <link rel="stylesheet" href="/libs/angular-xeditable/dist/css/xeditable.css" type="text/css" />
         <link rel="stylesheet" href="/libs/angular-growl-v2/build/angular-growl.min.css" type="text/css" />
+        
+        <link rel="stylesheet" href="/libs/bootstrap/dist/css/bootstrap.min.css" type="text/css" />
+        <link rel="stylesheet" href="/libs/font-awesome/css/font-awesome.min.css" type="text/css"/>
+        
+        <link rel="stylesheet" href="/css/cloudbudget.css" type="text/css" />
     </head>
     <body>
         <div class="container">
@@ -48,10 +52,12 @@
         <script type="text/javascript" src="/js/services/flash.service.js"></script>
         <script type="text/javascript" src="/js/services/user.service.js"></script>
         <script type="text/javascript" src="/js/services/accounts.service.js"></script>
+        <script type="text/javascript" src="/js/services/account.service.js"></script>
         
         <script type="text/javascript" src="/home/home.controller.js"></script>
         <script type="text/javascript" src="/login/login.controller.js"></script>
         <script type="text/javascript" src="/register/register.controller.js"></script>
         <script type="text/javascript" src="/accounts/accounts.controller.js"></script>
+        <script type="text/javascript" src="/account/account.controller.js"></script>
     </body>
 </html>

+ 1 - 1
public/js/app.js

@@ -7,7 +7,7 @@
         .module('cloudbudget', ['ngRoute', 'ngAnimate', 'routes', 'angular-growl', 'config', 'ngCookies', 'xeditable'])
         .constant('apiRoutes', {
             'host'          : HOST,
-            'port'          : "80",
+            'port'          : '80',
             'login'         : HOST + '/users/login',
             'register'      : HOST + '/users',
             'unregister'    : HOST + '/users/',

+ 31 - 2
public/js/config.js

@@ -5,9 +5,38 @@
         .module('config', [])
         .config(config);
         
-    config.$inject = ['growlProvider'];
+    config.$inject = ['$httpProvider', 'growlProvider'];
    
-    function config(growlProvider) {
+   var regexIso8601 = /^(\d{4}|\+\d{6})(?:-(\d{2})(?:-(\d{2})(?:T(\d{2}):(\d{2}):(\d{2})\.(\d{1,})(Z|([\-+])(\d{2}):(\d{2}))?)?)?)?$/;
+   
+   function convertDateStringsToDates(input) {
+    // Ignore things that aren't objects.
+    if (typeof input !== "object") return input;
+
+    for (var key in input) {
+        if (!input.hasOwnProperty(key)) continue;
+
+        var value = input[key];
+        var match;
+        // Check for string properties which look like dates.
+        if (typeof value === "string" && (match = value.match(regexIso8601))) {
+            var milliseconds = Date.parse(match[0])
+            if (!isNaN(milliseconds)) {
+                input[key] = new Date(milliseconds);
+            }
+        } else if (typeof value === "object") {
+            // Recurse into object
+            convertDateStringsToDates(value);
+        }
+    }
+}
+
+    function config($httpProvider, growlProvider) {
+        $httpProvider.defaults.transformResponse.push(function(responseData){
+            convertDateStringsToDates(responseData);
+            return responseData;
+        });
+        
         growlProvider.globalReversedOrder(true);
         growlProvider.globalTimeToLive(5000);
         growlProvider.globalDisableCountDown(true);

+ 6 - 0
public/js/routes.js

@@ -34,6 +34,12 @@
                 controllerAs: 'vm'
             })
             
+            .when('/account/:account_id', {
+                controller: 'AccountController',
+                templateUrl: 'account/account.view.html',
+                controllerAs: 'vm'
+            })
+            
             .otherwise({redirectTo: '/login'});
             
         $locationProvider.html5Mode(true);