anthtrigger
Version:
Trigger events via http service
98 lines (95 loc) • 2.85 kB
JavaScript
(function() {
angular.module('anthTrigger').controller('userController', function($scope, $http, $modal, $q, notify) {
var convertTags, editModal, loadList, _st;
$scope.st = _st = {};
$scope.list = [];
loadList = function() {
_st.list = 'loading';
return $http.get('/user/list').success(function(data) {
$scope.list = data.list || [];
if (!data.success) {
return _st.list = 'error';
} else {
return _st.list = 'done';
}
});
};
loadList();
convertTags = function(data) {
return data != null ? typeof data.map === "function" ? data.map(function(v) {
if (v.text) {
return v.text;
} else {
return {
text: v
};
}
}) : void 0 : void 0;
};
editModal = function(opt) {
return $modal.open({
backdrop: 'static',
keyboard: false,
templateUrl: "/page/users/edit_user.html",
controller: [
'$scope', function(scope) {
scope.options = opt;
scope.user = angular.copy(opt.user);
scope.user.tags = convertTags(opt.user.tags);
return scope.loadTags = $scope.loadTags;
}
]
}).result;
};
$scope.addUser = function() {
return editModal({
mode: 'add',
user: {
role: 'tester'
}
}).then(function(user) {
user.tags = convertTags(user.tags);
return $http.post("/user/add", user).success(function(data) {
loadList();
return notify("添加用户 " + user.name + " 成功!");
}).error(function() {
return notify("添加用户失败!");
});
});
};
$scope.editUser = function(preUser) {
return editModal({
mode: 'edit',
user: preUser
}).then(function(user) {
user.tags = convertTags(user.tags);
return $http.post("/user/edit", user).success(function(data) {
loadList();
return notify("编辑用户 " + user.name + " 成功!");
}).error(function() {
return notify("编辑用户出错!");
});
});
};
$scope.loadTags = function(query) {
var deferred;
deferred = $q.defer();
$http.get('/scripts/tags?q=' + query).success(function(data) {
return deferred.resolve(data.map(function(v) {
return {
text: v
};
}));
});
return deferred.promise;
};
return $scope.frozeUser = function(user) {
return $http.put('/user/frozen?uid=' + user._id).success(function(result) {
return loadList();
}).error(function() {
return notify("禁用用户失败!");
});
};
});
}).call(this);
//# sourceMappingURL=userController.js.map