You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							99 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							99 lines
						
					
					
						
							2.1 KiB
						
					
					
				/// <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;	
 | 
						|
		id?:number;	
 | 
						|
	}
 | 
						|
 | 
						|
	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 constructor(){
 | 
						|
			this.updateAllData();		
 | 
						|
		}
 | 
						|
 | 
						|
		public updateAllData(){
 | 
						|
			this.updateVolumeData();
 | 
						|
			this.updateOracleParam();
 | 
						|
		}
 | 
						|
	    public updateVolumeData(){
 | 
						|
	    	var result=null;
 | 
						|
	    	$.ajax({ 
 | 
						|
				async: false, 
 | 
						|
				type : "POST", 
 | 
						|
				url : "/java/console/api/volume/list",					
 | 
						|
				success : function(data) { 
 | 
						|
				    if(data){			
 | 
						|
					    result = data;
 | 
						|
					}
 | 
						|
					console.log(data);								
 | 
						|
				} 
 | 
						|
			});			
 | 
						|
			this.cluster = result;
 | 
						|
	    	
 | 
						|
		}
 | 
						|
 | 
						|
		public updateOracleParam(){
 | 
						|
			var result=null;
 | 
						|
			$.ajax({
 | 
						|
				async: false,
 | 
						|
				type : "POST",
 | 
						|
				url : "/java/console/api/oracle/list",
 | 
						|
				success : function(data) { 
 | 
						|
				    if(data){			
 | 
						|
					    result = data;					   
 | 
						|
					}								
 | 
						|
				} 	
 | 
						|
			});			
 | 
						|
			this.oracleParam = result;			
 | 
						|
		}
 | 
						|
 | 
						|
		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;
 | 
						|
    }]);
 | 
						|
} |