Added delete feature for nodes.
This commit is contained in:
parent
39e7af6238
commit
79aadc85c2
20 changed files with 300 additions and 20 deletions
app/scripts
|
@ -25,6 +25,11 @@ angular.module('ffffng', [
|
|||
controller: 'UpdateNodeCtrl',
|
||||
title: 'Knotendaten ändern'
|
||||
})
|
||||
.when('/delete', {
|
||||
templateUrl: 'views/deleteNodeForm.html',
|
||||
controller: 'DeleteNodeCtrl',
|
||||
title: 'Knoten löschen'
|
||||
})
|
||||
.otherwise({
|
||||
redirectTo: '/'
|
||||
});
|
||||
|
@ -39,6 +44,9 @@ angular.module('ffffng', [
|
|||
},
|
||||
updateNode: function () {
|
||||
$location.url('/update');
|
||||
},
|
||||
deleteNode: function () {
|
||||
$location.url('/delete');
|
||||
}
|
||||
};
|
||||
})
|
||||
|
|
26
app/scripts/controllers/deleteNodeCtrl.js
Normal file
26
app/scripts/controllers/deleteNodeCtrl.js
Normal file
|
@ -0,0 +1,26 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('ffffng')
|
||||
.controller('DeleteNodeCtrl', function ($scope, Navigator, NodeService, config, ConfirmDeletionDialog) {
|
||||
$scope.config = config;
|
||||
$scope.token = undefined;
|
||||
$scope.deleted = false;
|
||||
|
||||
$scope.onSubmitToken = function (token) {
|
||||
$scope.token = token;
|
||||
return NodeService.getNode(token)
|
||||
.success(function (node) {
|
||||
ConfirmDeletionDialog.open(node).result.then(function () {
|
||||
NodeService.deleteNode(token)
|
||||
.success(function () {
|
||||
$scope.deleted = true;
|
||||
$scope.hostname = node.hostname;
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
$scope.cancel = function () {
|
||||
Navigator.home();
|
||||
};
|
||||
});
|
|
@ -11,4 +11,8 @@ angular.module('ffffng')
|
|||
$scope.updateNode = function () {
|
||||
Navigator.updateNode();
|
||||
};
|
||||
|
||||
$scope.deleteNode = function () {
|
||||
Navigator.deleteNode();
|
||||
};
|
||||
});
|
||||
|
|
29
app/scripts/dialogs/confirmDeletionDialog.js
Normal file
29
app/scripts/dialogs/confirmDeletionDialog.js
Normal file
|
@ -0,0 +1,29 @@
|
|||
'use strict';
|
||||
|
||||
angular.module('ffffng')
|
||||
.factory('ConfirmDeletionDialog', function ($uibModal, config) {
|
||||
var ctrl = function ($scope, $uibModalInstance, node) {
|
||||
$scope.node = node;
|
||||
$scope.config = config;
|
||||
|
||||
$scope.proceed = function () {
|
||||
$uibModalInstance.close();
|
||||
};
|
||||
|
||||
$scope.cancel = function () {
|
||||
$uibModalInstance.dismiss('cancel');
|
||||
};
|
||||
};
|
||||
|
||||
return {
|
||||
open: function (node) {
|
||||
return $uibModal.open({
|
||||
controller: ctrl,
|
||||
templateUrl: 'views/dialogs/confirmDeletionDialog.html',
|
||||
resolve: {
|
||||
node: function () { return node; }
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
});
|
|
@ -33,7 +33,9 @@ angular.module('ffffng')
|
|||
'templateUrl': 'views/directives/tokenForm.html',
|
||||
'scope': {
|
||||
'onSubmit': '=fSubmit',
|
||||
'onCancel': '=fCancel'
|
||||
'onCancel': '=fCancel',
|
||||
'submitIcon': '@fSubmitIcon',
|
||||
'submitLabel': '@fSubmitLabel'
|
||||
}
|
||||
};
|
||||
});
|
||||
|
|
|
@ -11,6 +11,10 @@ angular.module('ffffng')
|
|||
return $http.put('/api/node/' + token, node);
|
||||
},
|
||||
|
||||
'deleteNode': function (token) {
|
||||
return $http.delete('/api/node/' + token);
|
||||
},
|
||||
|
||||
'getNode': function (token) {
|
||||
return $http.get('/api/node/' + token);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue