增加服务集群配置功能
This commit is contained in:
parent
18e2092d22
commit
7698e63eb0
|
@ -0,0 +1,4 @@
|
||||||
|
/// <reference path="../../includes.d.ts" />
|
||||||
|
declare module Configs {
|
||||||
|
function removeElementByValue(array: Array<any>, value: any, key?: string): void;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
/// <reference path="../../includes.d.ts" />
|
||||||
|
/// <reference path="configPlugin.d.ts" />
|
||||||
|
declare module Configs {
|
||||||
|
interface Block {
|
||||||
|
ip: string;
|
||||||
|
path: string;
|
||||||
|
}
|
||||||
|
interface oracleParam {
|
||||||
|
name: string;
|
||||||
|
ip: string;
|
||||||
|
port: string;
|
||||||
|
serviceName: string;
|
||||||
|
tableName: string;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
interface volume {
|
||||||
|
name: string;
|
||||||
|
totalSize: number;
|
||||||
|
usedSize: number;
|
||||||
|
block: Block;
|
||||||
|
folder?: Array<any>;
|
||||||
|
}
|
||||||
|
class ConfigsModelService {
|
||||||
|
cluster: Array<volume>;
|
||||||
|
oracleParam: Array<oracleParam>;
|
||||||
|
updateVolumeData($scope: any, $http: any): void;
|
||||||
|
getFolderByVolumeName(name: string): any[];
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
/// <reference path="../../includes.d.ts" />
|
||||||
|
declare module Configs {
|
||||||
|
function removeElementByValue(array: Array<any>, value: any, key?: string): void;
|
||||||
|
function removeElementsByValue(array: Array<any>, elements: Array<any>): void;
|
||||||
|
}
|
|
@ -0,0 +1,6 @@
|
||||||
|
/// <reference path="../../includes.d.ts" />
|
||||||
|
/// <reference path="configPlugin.d.ts" />
|
||||||
|
/// <reference path="configsHelper.d.ts" />
|
||||||
|
declare module Configs {
|
||||||
|
var GfsController: ng.IModule;
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
/// <reference path="../../includes.d.ts" />
|
||||||
|
/// <reference path="configPlugin.d.ts" />
|
||||||
|
/// <reference path="configsHelper.d.ts" />
|
||||||
|
/// <reference path="configsUtils.d.ts" />
|
||||||
|
declare module Configs {
|
||||||
|
var KubeController: ng.IModule;
|
||||||
|
}
|
|
@ -0,0 +1,5 @@
|
||||||
|
/// <reference path="../../includes.d.ts" />
|
||||||
|
/// <reference path="configPlugin.d.ts" />
|
||||||
|
declare module Configs {
|
||||||
|
var EableEdit: ng.IModule;
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
<form class="form-horizontal" ng-submit="onSubmit(validForm.$valid)" novalidate="novalidate" name="validForm" ng-init="mode=tableForm">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-sm-2 control-label">名称</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input class="form-control" type="text" ng-model="mode.name" id="orcName" ng-minlength="4" ng-maxlength="20">
|
||||||
|
<span class="glyphicon glyphicon-ok form-control-feedback" ng-show="validForm.orcName.$valid" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="col-sm-2 control-label">名称</label>
|
||||||
|
<div class="col-sm-10">
|
||||||
|
<input class="form-control" type="text" ng-model="mode.name" id="orcName" ng-minlength="4" ng-maxlength="20">
|
||||||
|
<span class="glyphicon glyphicon-ok form-control-feedback" ng-show="validForm.orcName.$valid" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<button class="btn" type='submit'>
|
||||||
|
<span class="glyphicon glyphicon-save"></span> 保存
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</form>
|
|
@ -0,0 +1,18 @@
|
||||||
|
<script type="text/ng-template" id="tableEdit.html" >
|
||||||
|
<div class="ngCellText" ng-init="entity=row.entity" ng-controller="Configs.EableEdit">
|
||||||
|
<button class="btn" ng-click="editRow(entity)">
|
||||||
|
<span class="glyphicon glyphicon-pencil"></span> 编辑
|
||||||
|
</button>
|
||||||
|
<span class="pull-right"> </span>
|
||||||
|
<button class="btn" ng-click="deleteRow(entity)">
|
||||||
|
<span class="glyphicon glyphicon-trash"></span> 删除
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</script>
|
||||||
|
<script type="text/ng-template" id="connectStatus.html">
|
||||||
|
</script>
|
||||||
|
<div ng-controller="Kubernetes.TopLevel">
|
||||||
|
<div class="wiki-icon-view" ng-controller="Kubernetes.FileDropController" nv-file-drop nv-file-over uploader="uploader" over-class="ready-drop">
|
||||||
|
<div class="row kubernetes-view" ng-view></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -0,0 +1,70 @@
|
||||||
|
/// <reference path="../../includes.ts"/>
|
||||||
|
/// <reference path="configPlugin.ts"/>
|
||||||
|
module Configs{
|
||||||
|
|
||||||
|
export interface Block{
|
||||||
|
ip:string; //存储块的机器ip地址
|
||||||
|
path: string; //路径
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface oracleParam{
|
||||||
|
name: string
|
||||||
|
ip: string;
|
||||||
|
port: string;
|
||||||
|
serviceName: string;
|
||||||
|
tableName: string;
|
||||||
|
status: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface volume{
|
||||||
|
name: string; //volume的名字
|
||||||
|
totalSize: number; //volume空间大小
|
||||||
|
usedSize: number; // volume已使用空间大小
|
||||||
|
block: Block; //volume中的存储块
|
||||||
|
folder?: Array<any>; //volume的文件
|
||||||
|
}
|
||||||
|
|
||||||
|
//字节大小转换成字符大小
|
||||||
|
function getStringSize(size: number){
|
||||||
|
var result = size;
|
||||||
|
var suffix =["B", "KB" ,"MB", "GB", "GB", "TB"];
|
||||||
|
var count=1;
|
||||||
|
while(result > 1024){
|
||||||
|
result = result/1024;
|
||||||
|
count ++;
|
||||||
|
}
|
||||||
|
return result + suffix[count];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
export class ConfigsModelService{
|
||||||
|
public cluster: Array<volume>=[];
|
||||||
|
public oracleParam: Array<oracleParam>;
|
||||||
|
|
||||||
|
public updateVolumeData($scope: ConfigsModelService, $http){
|
||||||
|
console.log($scope);
|
||||||
|
$http({
|
||||||
|
method: "POST",
|
||||||
|
url: "/java/console/api/volume/list"
|
||||||
|
}).success(function(data, status, headers, config) {
|
||||||
|
$scope.cluster.push(data);
|
||||||
|
}).error(function(data, status, headers, config) {
|
||||||
|
//$scope.voume=data;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public getFolderByVolumeName(name: string){
|
||||||
|
if(this.cluster===null)
|
||||||
|
return null;
|
||||||
|
for(var i=0; i< this.cluster.length; i++){
|
||||||
|
if(this.cluster[i].name === name)
|
||||||
|
return this.cluster[i].folder;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_module.factory('ConfigsModel', ['$rootScope', '$http', '$location', '$resource', ($rootScope, $http, $location, $resource) =>{
|
||||||
|
var $scope = new ConfigsModelService();
|
||||||
|
return $scope;
|
||||||
|
}]);
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
/// <reference path="../../includes.ts"/>
|
||||||
|
|
||||||
|
module Configs{
|
||||||
|
export function removeElementByValue(array:Array<any> ,value:any, key?:string ){
|
||||||
|
if(key){
|
||||||
|
for(var i=0; i<array.length; i++){
|
||||||
|
if(array[i][key] === value){
|
||||||
|
array.splice(i ,1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
for(var i=0 ; i<array.length; i++){
|
||||||
|
if(array[i] === value){
|
||||||
|
array.splice(i ,1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export function removeElementsByValue(array: Array<any>, elements:Array<any>){
|
||||||
|
angular.forEach(elements, (element) =>{
|
||||||
|
removeElementByValue(array, element.value, element.key);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,109 @@
|
||||||
|
/// <reference path="../../includes.ts"/>
|
||||||
|
/// <reference path="configPlugin.ts"/>
|
||||||
|
/// <reference path="configsHelper.ts"/>
|
||||||
|
/// <reference path="configsUtils.ts"/>
|
||||||
|
module Configs{
|
||||||
|
|
||||||
|
export var KubeController = controller('KubeController', ["$scope", "$templateCache", "$location", "$routeParams", "$http", "$timeout",
|
||||||
|
($scope, $templateCache:ng.ITemplateCacheService, $location, $routeParams, $http, $timeout) => {
|
||||||
|
|
||||||
|
$scope.model= [{
|
||||||
|
"name": "",
|
||||||
|
"status": "OK",
|
||||||
|
"ip": "10.188.2.3",
|
||||||
|
"_id": 1
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "camel-041",
|
||||||
|
"status": "OK",
|
||||||
|
"ip": "10.188.2.20",
|
||||||
|
"_id": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "activemq-004",
|
||||||
|
"status": "failed",
|
||||||
|
"ip": "10.188.2.111",
|
||||||
|
"_id": 3
|
||||||
|
}];
|
||||||
|
|
||||||
|
$scope.tableConfig={
|
||||||
|
data: "model",
|
||||||
|
selectedItems: [{
|
||||||
|
name: "activemq-004",
|
||||||
|
status: "failed",
|
||||||
|
ip: "10.188.2.111",
|
||||||
|
_id: 2
|
||||||
|
}],
|
||||||
|
columnDefs: [{
|
||||||
|
field: "_id",
|
||||||
|
displayName: "序号"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "name",
|
||||||
|
displayName: "名称"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "ip",
|
||||||
|
displayName: "IP"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "port",
|
||||||
|
displayName: "端口号"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "userName",
|
||||||
|
displayName: "用户名"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "password",
|
||||||
|
displayName: "密码"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "serviceName",
|
||||||
|
displayName: "服务名"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "status",
|
||||||
|
displayName: "连接状态"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
field: "entity",
|
||||||
|
displayName: "操作",
|
||||||
|
cellTemplate: $templateCache.get("tableEdit.html")
|
||||||
|
}],
|
||||||
|
enableRowClickSelection: true,
|
||||||
|
showSelectionCheckbox: false,
|
||||||
|
multiSelect: false,
|
||||||
|
sortInfo: {
|
||||||
|
sortBy: "_id",
|
||||||
|
ascending: true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
shareInit($scope, $location, $routeParams);
|
||||||
|
|
||||||
|
$scope.create = () =>{
|
||||||
|
$scope.add= true;
|
||||||
|
$scope.edit = false;
|
||||||
|
$scope.tableForm = createNewObejct($scope.tableConfig.columnDefs, null);
|
||||||
|
removeElementsByValue($scope.tableForm, [{key: "name", value: "序号"},{key: "name", value: "连接状态"},{key: "name", value: "操作"}]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.onSubmit = () => {
|
||||||
|
$scope.edit = false;
|
||||||
|
$scope.add = false;
|
||||||
|
console.log($scope.tableForm);
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.$on("editRow", (event, data) =>{
|
||||||
|
$scope.edit = true;
|
||||||
|
$scope.add = false;
|
||||||
|
$scope.tableForm = createNewObejct($scope.tableConfig.columnDefs, data);
|
||||||
|
removeElementsByValue($scope.tableForm, [{key: "name", value: "序号"},{key: "name", value: "连接状态"},{key: "name", value: "操作"}]);
|
||||||
|
}) ;
|
||||||
|
|
||||||
|
$scope.$on("deleteRow", (event, data) =>{
|
||||||
|
removeElementByValue($scope.model, data._id, "_id");
|
||||||
|
}) ;
|
||||||
|
}]);
|
||||||
|
}
|
|
@ -0,0 +1,13 @@
|
||||||
|
/// <reference path="../../includes.ts"/>
|
||||||
|
/// <reference path="configPlugin.ts"/>
|
||||||
|
module Configs{
|
||||||
|
export var EableEdit = controller('EableEdit', ['$scope', ($scope) => {
|
||||||
|
$scope.editRow = (entity)=>{
|
||||||
|
$scope.$emit('editRow', entity);
|
||||||
|
}
|
||||||
|
|
||||||
|
$scope.deleteRow = (entity) =>{
|
||||||
|
$scope.$emit('deleteRow', entity);
|
||||||
|
}
|
||||||
|
}]);
|
||||||
|
}
|
Loading…
Reference in New Issue