Преглед изворни кода

dns domains get/add/del

develop
Robin Thoni пре 8 година
родитељ
комит
7ce0498bfe

+ 54
- 5
app/controllers/dns.controller.js Прегледај датотеку

@@ -1,20 +1,26 @@
1 1
 angular.module('app')
2
-    .controller('DnsController', ['$scope', '$state', 'DnsBusiness',
3
-        function($scope, $state, DnsBusiness) {
2
+    .controller('DnsController', ['$scope', '$state', 'DnsBusiness', 'luticateDialogErrorHelper', 'luticateDialogOkCancelHelper',
3
+        function($scope, $state, DnsBusiness, luticateDialogErrorHelper, luticateDialogOkCancelHelper) {
4
+            
5
+            $scope.domain = {
6
+                Name: "",
7
+                Type: "MASTER"
8
+            };
9
+            
4 10
             $scope.luTable = {
5 11
                 columns: [
6 12
                     {
7 13
                         name: "Name",
8 14
                         width: 4,
9 15
                         getValue: function (item) {
10
-                            return item.Name;
16
+                            return item.Name.toLowerCase();
11 17
                         }
12 18
                     },
13 19
                     {
14 20
                         name: "Type",
15 21
                         width: 8,
16 22
                         getValue: function (item) {
17
-                            return item.Type;
23
+                            return item.Type.toLowerCase();
18 24
                         }
19 25
                     }
20 26
                 ],
@@ -39,8 +45,51 @@ angular.module('app')
39 45
                 }
40 46
             };
41 47
 
48
+            $scope.addDomain = function()
49
+            {
50
+                var promiseAddDomain = {
51
+                    id: "promiseAddDomain",
52
+                    loaderGroups: ["page"]
53
+                };
54
+                DnsBusiness.add($scope.domain, promiseAddDomain).then(function(data)
55
+                {
56
+                    $scope.domain.Name = "";
57
+                    $scope.luTable.luBasicTableScope.loadPage($scope.luTable.page);
58
+                }, luticateDialogErrorHelper.errorDialog);
59
+            };
60
+
61
+            $scope.askDeleteItems = function()
62
+            {
63
+                luticateDialogOkCancelHelper.okCancelDialog({
64
+                    title: "Delete domains",
65
+                    text: "Do you really want to delete selected domains?"
66
+                }).result.then(function()
67
+                {
68
+                    $scope.deleteSelected();
69
+                });
70
+            };
71
+
42 72
             $scope.deleteSelected = function()
43 73
             {
44
-                console.log($scope.luTable)
74
+                if ($scope.luTable.checkedItems.length == 0) {
75
+                    $scope.luTable.luBasicTableScope.loadPage($scope.luTable.page);
76
+                    return;
77
+                }
78
+                var promiseDelItems = {
79
+                    id: "promiseDelItems",
80
+                    loaderGroups: ["page"]
81
+                };
82
+                var item = $scope.luTable.checkedItems[0];
83
+                DnsBusiness.del({Id: item}, promiseDelItems)
84
+                    .then(function (data) {
85
+                        $scope.luTable.checkedItems.splice(0, 1);
86
+                        $scope.deleteSelected();
87
+                    }, function (error) {
88
+                        luticateDialogErrorHelper.errorDialog(error)
89
+                            .result.then(function (data) {
90
+                            $scope.luTable.luBasicTableScope.loadPage($scope.luTable.page);
91
+                        }, function (error) {
92
+                        });
93
+                    });
45 94
             };
46 95
     }]);

+ 2
- 0
app/index.html Прегледај датотеку

@@ -55,6 +55,8 @@
55 55
     <script src="../sdk/sdk.js"></script>
56 56
     <script src="../sdk/DataAccess/dns.js"></script>
57 57
     <script src="../sdk/Business/dns.js"></script>
58
+    <script src="../sdk/DataAccess/dnsrecords.js"></script>
59
+    <script src="../sdk/Business/dnsrecords.js"></script>
58 60
 
59 61
     <!-- Directives -->
60 62
 

+ 26
- 7
app/views/dns.html Прегледај датотеку

@@ -1,22 +1,41 @@
1 1
 <!-- Page Content -->
2 2
 <div class="container">
3
-    <div class="row">
3
+    <div class="row col-xs-12" lu-busy="page">
4 4
         <div class="col-xs-12">
5 5
             <lu-basic-table options="luTable"></lu-basic-table>
6
-            <div class="form-group pull-right col-xs-2">
7
-                <button type="button" ng-click="deleteSelected()" ng-disabled="luTable.checkedItems.length == 0"
6
+            <div class="form-group col-xs-2">
7
+                <button type="button" ng-click="askDeleteItems()" ng-disabled="luTable.checkedItems.length == 0"
8 8
                         class="btn btn-danger col-xs-12">
9 9
                     <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>
10 10
                     Delete
11 11
                 </button>
12 12
             </div>
13 13
         </div>
14
+        <div class="clearfix"></div>
14 15
         <div class="col-xs-12">
15
-            <div>
16
-                <div class="form-group col-xs-4">
17
-                    <input class="form-control">
16
+            <form ng-submit="addDomain()">
17
+                <div class="form-group col-xs-8">
18
+                    <input class="form-control" ng-model="domain.Name">
18 19
                 </div>
19
-            </div>
20
+                <div class="form-group col-xs-2">
21
+                    <div class="dropdown">
22
+                        <button class="btn btn-inverse btn-block dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
23
+                            {{ domain.Type | lowercase }}
24
+                            <span class="caret"></span>
25
+                        </button>
26
+                        <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
27
+                            <li><a href="" ng-click="domain.Type = 'MASTER'">master</a></li>
28
+                            <li><a href="" ng-click="domain.Type = 'SLAVE'">slave</a></li>
29
+                        </ul>
30
+                    </div>
31
+                </div>
32
+                <div class="form-group col-xs-2">
33
+                    <button type="submit" ng-disabled="domain.Name.length == 0" class="btn btn-primary col-xs-12">
34
+                        <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>
35
+                        Add
36
+                    </button>
37
+                </div>
38
+            </form>
20 39
         </div>
21 40
     </div>
22 41
 </div>

+ 1
- 1
app/views/navbar.html Прегледај датотеку

@@ -14,7 +14,7 @@
14 14
         <!-- Collect the nav links, forms, and other content for toggling -->
15 15
         <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
16 16
             <ul class="nav navbar-nav navbar-left">
17
-                <li ui-sref-active="active"><a ui-sref="dns" >DNS</a></li>
17
+                <li ng-show="isLogged()" ui-sref-active="active"><a ui-sref="dns" >DNS</a></li>
18 18
                 <li><a href="/luticate" target="_blank" ng-show="canSeeAdmin()">Luticate</a></li>
19 19
             </ul>
20 20
             <ul class="nav navbar-nav navbar-right">

+ 1
- 1
luticate

@@ -1 +1 @@
1
-Subproject commit d61de68cb37c386d540d2077677541fe1dc980a6
1
+Subproject commit 1566235d9b9fa3bde7784ff3878f9c862642ab23

+ 0
- 4
sdk/Business/dns.js Прегледај датотеку

@@ -14,10 +14,6 @@
14 14
 
15 15
             Business.getAll = DnsDataAccess.getAll;
16 16
 
17
-            Business.get = DnsDataAccess.get;
18
-
19
-            Business.edit = DnsDataAccess.edit;
20
-
21 17
             Business.del = DnsDataAccess.del;
22 18
 
23 19
             return Business;

+ 21
- 0
sdk/Business/dnsrecords.js Прегледај датотеку

@@ -0,0 +1,21 @@
1
+/**
2
+ * Created by robin on 3/17/16.
3
+ */
4
+
5
+(function () {
6
+    'use strict';
7
+
8
+    angular.module('appSdk')
9
+        .factory('DnsRecordsBusiness', ['DnsRecordsDataAccess', '$q', function (DnsRecordsDataAccess, $q) {
10
+
11
+            var Business = {};
12
+
13
+            Business.add = DnsRecordsDataAccess.add;
14
+
15
+            Business.getAll = DnsRecordsDataAccess.getAll;
16
+
17
+            Business.del = DnsRecordsDataAccess.del;
18
+
19
+            return Business;
20
+        }]);
21
+})();

+ 1
- 11
sdk/DataAccess/dns.js Прегледај датотеку

@@ -22,19 +22,9 @@
22 22
                 return luticateRequest.get(entry_point, data, promise);
23 23
             };
24 24
 
25
-            DataAccess.get = function(data, promise)
26
-            {
27
-                return luticateRequest.get(entry_point + data.domain_id , null, promise);
28
-            };
29
-
30
-            DataAccess.edit = function(data, promise)
31
-            {
32
-                return luticateRequest.post(entry_point + data.domain_id + "/edit", {domain: JSON.stringify(data)}, null, promise);
33
-            };
34
-
35 25
             DataAccess.del = function(data, promise)
36 26
             {
37
-                return luticateRequest.post(entry_point + data.domain_id + "/del", null, null, promise);
27
+                return luticateRequest.post(entry_point + data.Id + "/del", null, null, promise);
38 28
             };
39 29
 
40 30
             return DataAccess;

+ 32
- 0
sdk/DataAccess/dnsrecords.js Прегледај датотеку

@@ -0,0 +1,32 @@
1
+/**
2
+ * Created by robin on 3/17/16.
3
+ */
4
+
5
+(function () {
6
+    'use strict';
7
+
8
+    angular.module('appSdk')
9
+        .factory('DnsRecordsDataAccess', ['luticateRequest', function (luticateRequest) {
10
+
11
+            var DataAccess = {};
12
+
13
+            var entry_point = "/api/dns/records/";
14
+
15
+            DataAccess.add = function(data, promise)
16
+            {
17
+                return luticateRequest.post(entry_point + "add", {domain: JSON.stringify(data)}, null, promise);
18
+            };
19
+
20
+            DataAccess.getAll = function(data, promise)
21
+            {
22
+                return luticateRequest.get(entry_point, data, promise);
23
+            };
24
+
25
+            DataAccess.del = function(data, promise)
26
+            {
27
+                return luticateRequest.post(entry_point + data.Id + "/del", null, null, promise);
28
+            };
29
+
30
+            return DataAccess;
31
+        }]);
32
+})();

Loading…
Откажи
Сачувај