|
|
|
@ -7,10 +7,11 @@
|
|
|
|
|
/// <reference path="dataManagerHelper.ts"/>
|
|
|
|
|
/// <reference path="dataManagerModel.ts"/>
|
|
|
|
|
/// <reference path="../../configs/ts/configsHelper.ts"/>
|
|
|
|
|
/// <reference path="../../configs/ts/customAlert.ts"/>
|
|
|
|
|
|
|
|
|
|
module Developer {
|
|
|
|
|
export var WorkspacesController = controller("WorkspacesController", ["$scope", "KubernetesModel", "DataModel", "ConfigsModel", "KubernetesState", "$templateCache", "$location", "$routeParams", "$http", "$timeout", "KubernetesApiURL", "$element",
|
|
|
|
|
($scope, KubernetesModel: Kubernetes.KubernetesModelService, DataModel:Developer.DataModelService, ConfigsModel:Configs.ConfigsModelService, KubernetesState, $templateCache:ng.ITemplateCacheService, $location:ng.ILocationService, $routeParams, $http, $timeout, KubernetesApiURL, $element) => {
|
|
|
|
|
export var WorkspacesController = controller("WorkspacesController", ["$scope", "KubernetesModel", "DataModel", "ConfigsModel", "KubernetesState", "$templateCache", "$location", "$routeParams", "$http", "$timeout", "KubernetesApiURL", "$element", "ngDialog",
|
|
|
|
|
($scope, KubernetesModel: Kubernetes.KubernetesModelService, DataModel:Developer.DataModelService, ConfigsModel:Configs.ConfigsModelService, KubernetesState, $templateCache:ng.ITemplateCacheService, $location:ng.ILocationService, $routeParams, $http, $timeout, KubernetesApiURL, $element, ngDialog) => {
|
|
|
|
|
$scope.model=DataModel;
|
|
|
|
|
$scope.replicasModel = KubernetesModel;
|
|
|
|
|
init($scope, $location, $routeParams);
|
|
|
|
@ -157,6 +158,15 @@ module Developer {
|
|
|
|
|
id: selected
|
|
|
|
|
}];
|
|
|
|
|
}
|
|
|
|
|
/*
|
|
|
|
|
判断数据是否已挂载使用,返回已挂载使用的数据项列表,长度为0表示当前所选迁移数据项中任何数据文件都未被挂载使用。
|
|
|
|
|
*/
|
|
|
|
|
var exitedItems = Kubernetes.checkForMigration($scope.replicasModel.replicationControllers,$scope.tableConfig.selectedItems);
|
|
|
|
|
if(exitedItems.length > 0){
|
|
|
|
|
Configs.customAlert("提示", "操作失败:正在使用的数据文件不能删除!", '',null, 0, "error");
|
|
|
|
|
return;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
UI.multiItemConfirmActionDialog(<UI.MultiItemConfirmActionOptions>{
|
|
|
|
|
collection: selected,
|
|
|
|
|
index: 'id',
|
|
|
|
@ -194,38 +204,58 @@ module Developer {
|
|
|
|
|
selectedItem: {"name": "当前没有可以迁移的集群"},
|
|
|
|
|
dialog: new UI.Dialog(),
|
|
|
|
|
onOk: () => {
|
|
|
|
|
var migrationClick = $scope.migrationClick;
|
|
|
|
|
var exitedItems = Kubernetes.checkForMigration($scope.replicasModel.replicationControllers,$scope.tableConfig.selectedItems);
|
|
|
|
|
if(exitedItems.length == 0){
|
|
|
|
|
Configs.oracleInfoOperate($http, "/java/console/api/volume", Configs.OperateType.MOVE,
|
|
|
|
|
{
|
|
|
|
|
"name": migrationClick.selectedItem.name,
|
|
|
|
|
"selectItems": $scope.tableConfig.selectedItems,
|
|
|
|
|
"selectNode": $scope.selectNode
|
|
|
|
|
}, (result, status) => {
|
|
|
|
|
if(status===200){
|
|
|
|
|
var migrationClick = $scope.migrationClick;
|
|
|
|
|
/*
|
|
|
|
|
向后台发生数据迁移请求,$http:发生http异步请求;第二个参数:请求url;第三个参数:请求操作类型;第四个参数:请求携带的数据;第五个参数:
|
|
|
|
|
一个回调函数,请求响应后的回调函数。
|
|
|
|
|
*/
|
|
|
|
|
Configs.oracleInfoOperate($http, "/java/console/api/volume", Configs.OperateType.MOVE,
|
|
|
|
|
{
|
|
|
|
|
"name": migrationClick.selectedItem.name,
|
|
|
|
|
"selectItems": $scope.tableConfig.selectedItems,
|
|
|
|
|
"selectNode": $scope.selectNode
|
|
|
|
|
}, (result, status) => {
|
|
|
|
|
if(status===200){
|
|
|
|
|
//$scope.model.updateOracleParam();
|
|
|
|
|
}else{
|
|
|
|
|
throw "资源请求失败";
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
$timeout(() =>{
|
|
|
|
|
}else
|
|
|
|
|
throw "资源请求失败";
|
|
|
|
|
});
|
|
|
|
|
/*
|
|
|
|
|
页面跳转
|
|
|
|
|
*/
|
|
|
|
|
$timeout(() =>{
|
|
|
|
|
$location.path("/workspaces/Overview/task");
|
|
|
|
|
},250);
|
|
|
|
|
migrationClick.close();
|
|
|
|
|
}else{
|
|
|
|
|
var name = "";
|
|
|
|
|
angular.forEach(exitedItems, (item) => {
|
|
|
|
|
name += item.name + "-" + item.systemName + ",";
|
|
|
|
|
})
|
|
|
|
|
alert("迁移数据文件失败:" + name +"数据文件正在使用....");
|
|
|
|
|
}
|
|
|
|
|
},250);
|
|
|
|
|
migrationClick.close();
|
|
|
|
|
},
|
|
|
|
|
open: (selected) =>{
|
|
|
|
|
var migrationClick = $scope.migrationClick;
|
|
|
|
|
if($scope.volumes && $scope.volumes instanceof Array && $scope.volumes.length >0)
|
|
|
|
|
migrationClick.selectedItem = $scope.volumes[0];
|
|
|
|
|
migrationClick.dialog.open();
|
|
|
|
|
/*
|
|
|
|
|
判断数据是否已挂载使用,返回已挂载使用的数据项列表,长度为0表示当前所选迁移数据项中任何数据文件都未被挂载使用。
|
|
|
|
|
*/
|
|
|
|
|
var exitedItems = Kubernetes.checkForMigration($scope.replicasModel.replicationControllers,$scope.tableConfig.selectedItems);
|
|
|
|
|
/*
|
|
|
|
|
判断数据是否已在当前目录,返回当前所选目录已存在的数据文件。
|
|
|
|
|
*/
|
|
|
|
|
var result = [];
|
|
|
|
|
angular.forEach($scope.tableConfig.selectedItem, (item) => {
|
|
|
|
|
if(item.dataPath == $scope.selectNode["path"])
|
|
|
|
|
result.push(item);
|
|
|
|
|
});
|
|
|
|
|
/*
|
|
|
|
|
数据不在当前所选目录,且未被挂载启动,执行迁移操作
|
|
|
|
|
*/
|
|
|
|
|
if(exitedItems.length == 0 && result.length == 0){
|
|
|
|
|
if($scope.volumes && $scope.volumes instanceof Array && $scope.volumes.length >0)
|
|
|
|
|
migrationClick.selectedItem = $scope.volumes[0];
|
|
|
|
|
migrationClick.dialog.open();
|
|
|
|
|
}else if(exitedItems.length == 0 && result.length >0){ //任何数据文件都未被挂载使用,当有部分数据文件已存在所选迁移目录
|
|
|
|
|
Configs.customAlert("提示", "操作失败: 部分数据文件已在当前目录存在!", '',null, 0, "error");
|
|
|
|
|
}else if(exitedItems.length > 0 && result.length == 0){
|
|
|
|
|
Configs.customAlert("提示", "操作失败:正在使用的数据文件不能被迁移!", '',null, 0, "error");
|
|
|
|
|
}else{
|
|
|
|
|
Configs.customAlert("提示", "操作失败:部分数据文件正被使用且有部分数据文件已在当前目录存在!", '',null, 0, "error");
|
|
|
|
|
}
|
|
|
|
|
},
|
|
|
|
|
close: () => {
|
|
|
|
|
$scope.migrationClick.selectedItem = {"name": "当前没有可以迁移的集群"};
|
|
|
|
@ -269,8 +299,9 @@ module Developer {
|
|
|
|
|
var name = "";
|
|
|
|
|
angular.forEach(exitedItems, (item) => {
|
|
|
|
|
name += item.name + "-" + item.systemName + ",";
|
|
|
|
|
})
|
|
|
|
|
alert("迁移数据文件失败:" + name +"数据文件正在使用....");
|
|
|
|
|
});
|
|
|
|
|
console.log(exitedItems);
|
|
|
|
|
Configs.customAlert("提示", "操作失败: 正在迁移的数据不能被启动!", '', null, 0, "error");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|