Added delete feature for nodes.

This commit is contained in:
baldo 2016-05-16 18:27:03 +02:00
parent 39e7af6238
commit 79aadc85c2
20 changed files with 300 additions and 20 deletions

View file

@ -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');
}
};
})

View 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();
};
});

View file

@ -11,4 +11,8 @@ angular.module('ffffng')
$scope.updateNode = function () {
Navigator.updateNode();
};
$scope.deleteNode = function () {
Navigator.deleteNode();
};
});

View 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; }
}
});
}
};
});

View file

@ -33,7 +33,9 @@ angular.module('ffffng')
'templateUrl': 'views/directives/tokenForm.html',
'scope': {
'onSubmit': '=fSubmit',
'onCancel': '=fCancel'
'onCancel': '=fCancel',
'submitIcon': '@fSubmitIcon',
'submitLabel': '@fSubmitLabel'
}
};
});

View file

@ -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);
}