anthtrigger
Version:
Trigger events via http service
106 lines (103 loc) • 3.48 kB
JavaScript
(function() {
angular.module('anthTrigger').controller('listScriptController', function($scope, $location, $http, $modal, notify) {
var loadList, searchParams, _st;
$scope.status = _st = {};
$scope.list = [];
searchParams = $location.search();
$scope.critical = searchParams;
$scope.q = searchParams.q || '';
$scope.page = 1;
$scope.pageSize = 10;
$scope.totalItems = 0;
loadList = function() {
var params;
_st.list = 'loading';
params = {
q: $scope.q,
page: $scope.page,
pageSize: $scope.pageSize
};
return $http.get('/scripts/list', {
params: params
}).success(function(result) {
_st.list = result.success ? 'done' : 'error';
$scope.totalItems = result.total;
return $scope.list = result.list;
});
};
loadList();
$scope.pageChange = function() {
return loadList();
};
$scope.search = function(q) {
return $location.url('/scripts?q=' + $scope.q);
};
$scope.viewScript = function(script) {
return $modal.open({
templateUrl: '/page/scripts/view_scripts.html',
controller: [
'$scope', function(scope) {
return scope.script = script;
}
]
});
};
$scope.deleteScript = function(script, index) {
if (!confirm("确定要【删除】脚本:\n\n\t'" + script.title + "'\n\n吗?")) {
return;
}
return $http["delete"]("/scripts/delete/" + script._id).success(function(result) {
if (result.success) {
notify("删除脚本 (" + script.title + ") 成功!");
return $scope.list.splice(index, 1);
} else {
return notify("删除脚本 (" + script.title + ") 失败!");
}
});
};
$scope.runScript = function(script, index) {
return $modal.open({
templateUrl: '/page/scripts/run_scripts.html',
controller: 'runScriptController',
resolve: {
script: function() {
return script;
}
},
backdrop: 'static',
keyboard: false
}).result.then(function(result) {
script.status = 'running';
notify("正在执行脚本 (" + script.title + ")...");
return $http.put('/scripts/run/' + script._id, {
args: result.args,
notes: result.notes
}).success(function(result) {
notify("脚本(" + result.script.title + ")执行完成!请到【执行历史】中查看!");
return $scope.list[index] = result.script;
});
});
};
$scope.killScript = function(script, index) {
if (!confirm("确定要【Kill】脚本:\n\n\t'" + script.title + "'\n\n的此次执行吗?")) {
return;
}
return $http.post('/scripts/kill/' + script._id).success(function(result) {
if (result.success) {
notify("中止脚本 (" + script.title + ") 成功!");
return $scope.list[index] = result.script;
} else {
return notify("中止脚本 (" + script.title + ") 失败!");
}
});
};
return $scope.viewLogs = function(script) {
return $http.get('/scripts/find/' + script._id).success(function(result) {
if (result.success) {
return $location.url("/scriptLogs/view/" + result.script.lastRunLogs);
}
});
};
});
}).call(this);
//# sourceMappingURL=listScriptController.js.map