angular.module('app') .controller('DnsController', ['$scope', '$state', 'DnsBusiness', 'luticateDialogErrorHelper', 'luticateDialogOkCancelHelper', function($scope, $state, DnsBusiness, luticateDialogErrorHelper, luticateDialogOkCancelHelper) { $scope.domain = { Name: "", Type: "MASTER" }; $scope.luTable = { columns: [ { name: "Name", width: 4, getValue: function (item) { return item.Name.toLowerCase(); } }, { name: "Type", width: 8, getValue: function (item) { return item.Type.toLowerCase(); } } ], canCheck: function() { return true; }, canClick: function(item) { return true; }, onItemClicked: function(item) { console.log(item); }, getLoadPagePromise: function (page, perPage, query, promise) { return DnsBusiness.getAll({page: page, perPage: perPage, query: query}, promise); } }; $scope.addDomain = function() { var promiseAddDomain = { id: "promiseAddDomain", loaderGroups: ["page"] }; DnsBusiness.add($scope.domain, promiseAddDomain).then(function(data) { $scope.domain.Name = ""; $scope.luTable.luBasicTableScope.loadPage($scope.luTable.page); }, luticateDialogErrorHelper.errorDialog); }; $scope.askDeleteItems = function() { luticateDialogOkCancelHelper.okCancelDialog({ title: "Delete domains", text: "Do you really want to delete selected domains?" }).result.then(function() { $scope.deleteSelected(); }); }; $scope.deleteSelected = function() { if ($scope.luTable.checkedItems.length == 0) { $scope.luTable.luBasicTableScope.loadPage($scope.luTable.page); return; } var promiseDelItems = { id: "promiseDelItems", loaderGroups: ["page"] }; var item = $scope.luTable.checkedItems[0]; DnsBusiness.del({Id: item}, promiseDelItems) .then(function (data) { $scope.luTable.checkedItems.splice(0, 1); $scope.deleteSelected(); }, function (error) { luticateDialogErrorHelper.errorDialog(error) .result.then(function (data) { $scope.luTable.luBasicTableScope.loadPage($scope.luTable.page); }, function (error) { }); }); }; }]);