完善GFS配置页面

Web_Manager_Develope
wu ming 8 years ago
commit c832fb16f3

@ -37,7 +37,8 @@
"hawtio-kubernetes-api": "~2.0.0", "hawtio-kubernetes-api": "~2.0.0",
"human-date": "^1.3.2", "human-date": "^1.3.2",
"js-yaml": "^3.5.4", "js-yaml": "^3.5.4",
"ng-table": "^1.0.0" "ng-table": "^1.0.0",
"ng-dialog": "^0.6.4"
}, },
"overrides": { "overrides": {
"term.js": { "term.js": {

@ -1,5 +1,6 @@
/// <reference path="../../includes.d.ts" /> /// <reference path="../../includes.d.ts" />
/// <reference path="configPlugin.d.ts" /> /// <reference path="configPlugin.d.ts" />
/// <reference path="configsDataService.d.ts" />
/// <reference path="../../developer/ts/developerNavigation.d.ts" /> /// <reference path="../../developer/ts/developerNavigation.d.ts" />
/// <reference path="../../developer/ts/dataManagerHelper.d.ts" /> /// <reference path="../../developer/ts/dataManagerHelper.d.ts" />
declare module Configs { declare module Configs {
@ -17,4 +18,17 @@ declare module Configs {
function createNewObejct(array: Array<any>, obj: any): any[]; function createNewObejct(array: Array<any>, obj: any): any[];
function oracleInfoOperate($http: any, url: string, operate: string, resource: any, fn?: (data, status) => void): void; function oracleInfoOperate($http: any, url: string, operate: string, resource: any, fn?: (data, status) => void): void;
function createConfigHelperNavBar($scope: any, $location: any, $routeParams: any): any; function createConfigHelperNavBar($scope: any, $location: any, $routeParams: any): any;
function formatVolume(volume: volume): formatedVolume;
function formatVolumes(volumes: Array<volume>): Array<formatedVolume>;
interface formatedVolume {
name: string;
path: string;
brick: Array<Brick>;
status: string;
}
interface Brick {
ip: Array<string>;
status: boolean;
path: string;
}
} }

@ -4,6 +4,7 @@ declare module Configs {
interface Block { interface Block {
ip: string; ip: string;
path: string; path: string;
status: boolean;
} }
interface oracleParam { interface oracleParam {
name: string; name: string;
@ -18,8 +19,10 @@ declare module Configs {
name: string; name: string;
totalSize: number; totalSize: number;
usedSize: number; usedSize: number;
block: Block; brick: Block;
folder?: Array<any>; folder?: Array<any>;
status: string;
path: string;
} }
class ConfigsModelService { class ConfigsModelService {
cluster: Array<volume>; cluster: Array<volume>;

@ -3,6 +3,7 @@
/// <reference path="ConfigsHelper.d.ts" /> /// <reference path="ConfigsHelper.d.ts" />
/// <reference path="configsUtils.d.ts" /> /// <reference path="configsUtils.d.ts" />
/// <reference path="configsDataService.d.ts" /> /// <reference path="configsDataService.d.ts" />
/// <reference path="../../kubernetes/ts/term.d.ts" />
declare module Configs { declare module Configs {
var GfsController: ng.IModule; var GfsController: ng.IModule;
} }

81
defs.d.ts vendored

@ -1,81 +0,0 @@
/// <reference path="d.ts/includes.d.ts"/>
/// <reference path="d.ts/configs/ts/configPlugin.d.ts"/>
/// <reference path="d.ts/developer/ts/developerNavigation.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesInterfaces.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/utilHelpers.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/readPlacedivision.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesHelpers.d.ts"/>
/// <reference path="d.ts/developer/ts/developerHelpers.d.ts"/>
/// <reference path="d.ts/developer/ts/dataManagerHelper.d.ts"/>
/// <reference path="d.ts/configs/ts/ConfigsHelper.d.ts"/>
/// <reference path="d.ts/configs/ts/configsDataService.d.ts"/>
/// <reference path="d.ts/configs/ts/configsUtils.d.ts"/>
/// <reference path="d.ts/configs/ts/glusterfsSetting.d.ts"/>
/// <reference path="d.ts/configs/ts/kubeClusterSetting.d.ts"/>
/// <reference path="d.ts/configs/ts/regionalismCodeSearch.d.ts"/>
/// <reference path="d.ts/configs/ts/shareController.d.ts"/>
/// <reference path="d.ts/configs/ts/systemCodeSearch.d.ts"/>
/// <reference path="d.ts/developer/ts/developerPlugin.d.ts"/>
/// <reference path="d.ts/developer/ts/dataManagerModel.d.ts"/>
/// <reference path="d.ts/developer/ts/developerEnrichers.d.ts"/>
/// <reference path="d.ts/developer/ts/environmentPanel.d.ts"/>
/// <reference path="d.ts/developer/ts/fileMigrationTask.d.ts"/>
/// <reference path="d.ts/developer/ts/home.d.ts"/>
/// <reference path="d.ts/developer/ts/jenkinsJob.d.ts"/>
/// <reference path="d.ts/developer/ts/jenkinsJobs.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesPlugin.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesModel.d.ts"/>
/// <reference path="d.ts/developer/ts/jenkinsLog.d.ts"/>
/// <reference path="d.ts/developer/ts/jenkinsMetrics.d.ts"/>
/// <reference path="d.ts/developer/ts/navbar.d.ts"/>
/// <reference path="d.ts/developer/ts/pipeline.d.ts"/>
/// <reference path="d.ts/developer/ts/pipelineDirective.d.ts"/>
/// <reference path="d.ts/developer/ts/pipelines.d.ts"/>
/// <reference path="d.ts/developer/ts/project.d.ts"/>
/// <reference path="d.ts/developer/ts/projectSelector.d.ts"/>
/// <reference path="d.ts/developer/ts/projects.d.ts"/>
/// <reference path="d.ts/developer/ts/workspace.d.ts"/>
/// <reference path="d.ts/developer/ts/workspaces.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/apps.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/breadcrumbs.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/build.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/buildConfig.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/buildConfigEdit.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/buildConfigs.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/buildLogs.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/builds.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/connect.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/deploymentConfig.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/deploymentConfigs.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/events.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/host.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/hosts.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/imageRepositories.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesNavigation.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/schema.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesSchema.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesServices.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/kubernetesTopLevel.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/namespace.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/overview.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/pipelines.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/pod.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/podEdit.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/watcher.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/term.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/podLogs.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/pods.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/replicationController.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/replicationControllerEdit.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/replicationControllers.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/schemaHelpers.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/secret.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/secrets.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/service.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/serviceEdit.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/serviceRegistry.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/services.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/sharedControllers.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/tabs.d.ts"/>
/// <reference path="d.ts/kubernetes/ts/templates.d.ts"/>
/// <reference path="d.ts/navigation/ts/navigationPlugin.d.ts"/>

File diff suppressed because one or more lines are too long

@ -23,6 +23,8 @@
<link rel="stylesheet" href="libs/hawtio-forms/dist/bootstrap-combobox.css" /> <link rel="stylesheet" href="libs/hawtio-forms/dist/bootstrap-combobox.css" />
<link rel="stylesheet" href="libs/kubernetes-container-terminal/dist/container-terminal.css" /> <link rel="stylesheet" href="libs/kubernetes-container-terminal/dist/container-terminal.css" />
<link rel="stylesheet" href="libs/ng-table/dist/ng-table.css" /> <link rel="stylesheet" href="libs/ng-table/dist/ng-table.css" />
<link rel="stylesheet" href="libs/ng-dialog/css/ngDialog.css" />
<link rel="stylesheet" href="libs/ng-dialog/css/ngDialog-theme-default.css" />
<!-- endbower --> <!-- endbower -->
<link rel="stylesheet" type="text/css" href="libs/angular-tree-control/css/tree-control-attribute.css"> <link rel="stylesheet" type="text/css" href="libs/angular-tree-control/css/tree-control-attribute.css">
<link rel="stylesheet" type="text/css" href="libs/angular-tree-control/css/tree-control.css"> <link rel="stylesheet" type="text/css" href="libs/angular-tree-control/css/tree-control.css">
@ -81,6 +83,7 @@
<script src="libs/hawtio-kubernetes-api/dist/smokesignals.unminified.js"></script> <script src="libs/hawtio-kubernetes-api/dist/smokesignals.unminified.js"></script>
<script src="libs/hawtio-kubernetes-api/dist/hawtio-kubernetes-api.js"></script> <script src="libs/hawtio-kubernetes-api/dist/hawtio-kubernetes-api.js"></script>
<script src="libs/js-yaml/dist/js-yaml.js"></script> <script src="libs/js-yaml/dist/js-yaml.js"></script>
<script src="libs/ng-dialog/js/ngDialog.js"></script>
<!-- endbower --> <!-- endbower -->
<script type="text/javascript" src="libs/codemirror/addon/edit/closetag.js"></script> <script type="text/javascript" src="libs/codemirror/addon/edit/closetag.js"></script>
<script type="text/javascript" src="libs/codemirror/addon/edit/continuelist.js"></script> <script type="text/javascript" src="libs/codemirror/addon/edit/continuelist.js"></script>
@ -99,7 +102,7 @@
<script type="text/javascript" src="libs/codemirror/mode/yaml/yaml.js"></script> <script type="text/javascript" src="libs/codemirror/mode/yaml/yaml.js"></script>
<!-- ng-table--> <!-- ng-table-->
<script type="text/javascript" src="libs/ng-table/dist/ng-table.js"></script> <script type="text/javascript" src="libs/ng-table/dist/ng-table.js"></script>
<!-- link for js when using the tree as --> <!-- link for js when using the tree as -->
<script type="text/javascript" src="libs/angular-tree-control/angular-tree-control.js"></script> <script type="text/javascript" src="libs/angular-tree-control/angular-tree-control.js"></script>
<script src="libs/bootstrap/dist/js/bootstrap.js"></script> <script src="libs/bootstrap/dist/js/bootstrap.js"></script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

@ -27,7 +27,9 @@ a:hover.sj_btn_grey{ background-image:-webkit-linear-gradient(top, #eeeeee,#d3d3
.sj_btn_blue{ display:inline-block; padding:0px 15px; height:30px; line-height:30px; -webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; background-image:-webkit-linear-gradient(top, #2a84e9,#0d62c1);background-image:linear-gradient(top,#2a84e9,#0d62c1);border:1px solid #1362b4; color:#fff;} .sj_btn_blue{ display:inline-block; padding:0px 15px; height:30px; line-height:30px; -webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; background-image:-webkit-linear-gradient(top, #2a84e9,#0d62c1);background-image:linear-gradient(top,#2a84e9,#0d62c1);border:1px solid #1362b4; color:#fff;}
.sj_btn_blue:hover{ background-image:-webkit-linear-gradient(top, #4894ea,#3a83d6);background-image:linear-gradient(top,#4894ea,#3a83d6) color#fff;} .sj_btn_blue:hover{ background-image:-webkit-linear-gradient(top, #4894ea,#3a83d6);background-image:linear-gradient(top,#4894ea,#3a83d6) color#fff;}
.sj_btn_green{ display:inline-block; padding:0px 15px; height:30px; line-height:30px; -webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; background-image:-webkit-linear-gradient(top, #5cb85c,#398439);background-image:linear-gradient(top,#5cb85c,#398439);border:1px solid #398439; color:#fff;} .sj_btn_green{ display:inline-block; padding:0px 15px; height:30px; line-height:30px; -webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; background-image:-webkit-linear-gradient(top, #5cb85c,#398439);background-image:linear-gradient(top,#5cb85c,#398439);border:1px solid #398439; color:#fff;}
.sj_btn_green:hover{ background-image:-webkit-linear-gradient(top, #65c965,#398439);background-image:linear-gradient(top,#65c965,#398439); color#fff;} .sj_btn_green:hover{ border:none; background-image:-webkit-linear-gradient(top, #65c965,#398439);background-image:linear-gradient(top,#65c965,#398439); border:1px solid #398439;color:#fff;}
.sj_btn_red{ display:inline-block; padding:0px 15px; height:30px; line-height:30px; -webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; background-image:-webkit-linear-gradient(top, #c60000,#a60000);background-image:linear-gradient(top,#c60000,#a60000);border:1px solid #8b0000; color:#fff;}
.sj_btn_red:hover{ border:none; background-image:-webkit-linear-gradient(top, #e00000,#ce0000);background-image:linear-gradient(top,#e00000,#ce0000);border:1px solid #8b0000; color:#fff;}
.sj_btn_cir{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:0px 15px; height:30px; line-height:30px;} .sj_btn_cir{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px;padding:0px 15px; height:30px; line-height:30px;}
/* sj_header */ /* sj_header */
.sj_header{ height:70px; width:100%; background:#1d1d1d;} .sj_header{ height:70px; width:100%; background:#1d1d1d;}
@ -117,10 +119,13 @@ treecontrol li:hover{}
.sj_server{ } .sj_server{ }
.sj_txt_box{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:310px;box-shadow: inset 0px 0px 3px #dcdcdc; } .sj_txt_box{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:310px;box-shadow: inset 0px 0px 3px #dcdcdc; }
.sj_txt_box02{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:370px;box-shadow: inset 0px 0px 3px #dcdcdc;} .sj_txt_box02{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:370px;box-shadow: inset 0px 0px 3px #dcdcdc;}
.sj_txt_box03{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:367px;box-shadow: inset 0px 0px 3px #dcdcdc; }
.sj_txt_box04{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:175px;box-shadow: inset 0px 0px 3px #dcdcdc; }
.sj_txt_box05{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:33px;box-shadow: inset 0px 0px 3px #dcdcdc; }
.search-query{ margin-top:0; margin-bottom: 0;} .search-query{ margin-top:0; margin-bottom: 0;}
.filter-header .btn, .filter-header form { margin-bottom: 0; margin-top:0;} .filter-header .btn, .filter-header form { margin-bottom: 0; margin-top:0;}
.kubernetes-view .filter-header{ margin-bottom: 0;} .kubernetes-view .filter-header{ margin-bottom: 0;}
.sj_btn{box-shadow:none;-webkit-box-shadow:none; font-weight: normal; background:none; color: #0088cc;} .sj_btn{ box-shadow:none; -webkit-box-shadow:none; font-weight: normal; background:none; color:#0088cc;}
.sj_btn:hover{ color: #005580;} .sj_btn:hover{ color: #005580;}
.sj_form_input input{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:310px;box-shadow: inset 0px 0px 3px #dcdcdc;} .sj_form_input input{-webkit-border-radius:3px;-moz-border-radius:3px;-o-border-radius:3px;border-radius:3px; border:1px solid #d3d3d3; background:#fff; padding-left:5px; color:#888; height:32px; width:310px;box-shadow: inset 0px 0px 3px #dcdcdc;}
.sj_alert-warning{ background-color: #fff6d0; border-color:#f6e7aa; color: #fd5f00; margin-top:10px;} .sj_alert-warning{ background-color: #fff6d0; border-color:#f6e7aa; color: #fd5f00; margin-top:10px;}
@ -137,4 +142,17 @@ treecontrol li:hover{}
.sj_progress_font{ position: absolute; right:5px; top:0; } .sj_progress_font{ position: absolute; right:5px; top:0; }
.sj_table_border{ border: 1px solid #ccc; } .sj_table_border{ border: 1px solid #ccc; }
.sj_content_table .table-header{background-image:-webkit-linear-gradient(top, #f7f7f7,#dfdfdf);background-image:linear-gradient(top, #f7f7f7,#dfdfdf); border-bottom:1px solid #a6a6a6;} .sj_content_table .table-header{background-image:-webkit-linear-gradient(top, #f7f7f7,#dfdfdf);background-image:linear-gradient(top, #f7f7f7,#dfdfdf); border-bottom:1px solid #a6a6a6;}
.sj_c_green{ color: #58b358;} .sj_c_green{ color: #58b358;}
.sj_new_box{ width:1002px; margin:0 auto; padding:20px; }
.sj_icon_ok{ padding:2px 10px; background: url(../new/images/sj_icons02.png) 0 0px no-repeat;}
.sj_icon_warning{ padding:2px 10px; background: url(../new/images/sj_icons02.png) 0 -30px no-repeat;}
.sj_icon_del{display:block; width:20px; height:25px; background: url(../new/images/sj_icons02.png) -36px -53px no-repeat;}
.sj_icon_del:hover{ background: url(../new/images/sj_icons02.png) -3px -53px no-repeat;}
.sj_icon_add{display:block; width:20px; height:25px; background: url(../new/images/sj_icons02.png) -36px -85px no-repeat;}
.sj_icon_add:hover{ background: url(../new/images/sj_icons02.png) -3px -85px no-repeat;}
.sj_new_table{ background:#f4f4f4; margin-bottom:10; padding:10px;}
.sj_new_table tr{ line-height:40px;}
.sj_new_table tr th.new_left{ width:50px;}
.sj_c_green{ color:#58b358;}
.sj_c_red{ color:#c00000;}

@ -8,7 +8,8 @@
<div class="container-content sj_content"> <div class="container-content sj_content">
<div class="row"> <div class="row">
<div class="mb10"> <div class="mb10">
<button class="btn sj_btn_green" style="color:#fff;" ng-click="create()"> <button class="btn sj_btn_green" style="color:#fff;
" ng-click="createGfs()">
<span class="glyphicon glyphicon-plus "></span> 添加 <span class="glyphicon glyphicon-plus "></span> 添加
</button> </button>
</div> </div>
@ -26,7 +27,7 @@
</th> </th>
<th class="no-fade table-header"> <th class="no-fade table-header">
<span class="">已用&nbsp;{{volume.usedSize}}&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;{{allSize}}</span> <span class="">已用&nbsp;{{volume.usedSize}}&nbsp;&nbsp;/&nbsp;&nbsp;&nbsp;{{volume.allSize}}</span>
</th> </th>
<th class="no-fade table-header"> <th class="no-fade table-header">
<button class="btn sj_btn" ng-click="editRow(volume)"> <button class="btn sj_btn" ng-click="editRow(volume)">

@ -1,12 +1,12 @@
<script type="text/ng-template" id="tableEdit.html" > <script type="text/ng-template" id="tableEdit.html">
<div class="ngCellText" ng-init="entity=row.entity" ng-controller="Configs.TableEdit"> <div class="ngCellText" ng-init="entity=row.entity" ng-controller="Configs.TableEdit">
<button class="btn sj_btn" ng-click="editRow(entity)"> <button class="btn sj_btn" ng-click="editRow(entity)">
<span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;编辑 <span class="glyphicon glyphicon-pencil"></span>&nbsp;&nbsp;编辑
</button> </button>
<span class="pull-right">&nbsp;</span> <span class="pull-right">&nbsp;</span>
<button class="btn sj_btn" ng-click="deleteRow(entity)"> <button class="btn sj_btn" ng-click="deleteRow(entity)">
<span class="glyphicon glyphicon-trash"></span>&nbsp;&nbsp;删除 <span class="glyphicon glyphicon-trash"></span>&nbsp;&nbsp;删除
</button> </button>
</div> </div>
</script> </script>
<script type="text/ng-template" id="connectStatus.html"> <script type="text/ng-template" id="connectStatus.html">
@ -19,6 +19,67 @@
</div> </div>
</div> </div>
</script> </script>
<script type="text/ng-template" id="newDialog.html">
<div class="sj_new_box">
<div class=" mb10">
<table class="sj_new_table clear">
<tbody>
<tr>
<th class="new_left sj_c_green">已启用</th>
<th colspan="10">
<input type="text" class="sj_txt_box03 mr10" ng-model="ngDialogData.name " />
</th>
<th>云目录:</th>
<th>
<input type="text" class="sj_txt_box02 mr5" ng-model="ngDialogData.path" />
</th>
<th>
<button class="sj_btn_red fl">停止</button>
</th>
</tr>
<tr ng-repeat = "row in ngDialogData.brick">
<th class="new_left"><span ng-show ="row.status" class="sj_icon_ok"></span><span ng-hide = "row.status" class="sj_icon_warning"></th>
<th colspan="3">
<Label class="mr5">服务器 {{$index + 1}}</Label>
</th>
<th>
<input type="text" class="sj_txt_box05" ng-model="row.ip[0]" />
</th>
<th>.</th>
<th>
<input type="text" class="sj_txt_box05" ng-model="row.ip[1]" />
</th>
<th>.</th>
<th>
<input type="text" class="sj_txt_box05" ng-model="row.ip[2]" />
</th>
<th>.</th>
<th>
<input type="text" class="sj_txt_box05 mr10" ng-model="row.ip[3]"/>
</th>
<th>存储块:</th>
<th>
<input type="text" class="sj_txt_box02 mr5" ng-model="row.path" />
</th>
<th>
<button class="sj_btn_grey fl">连接</button><span class="sj_icon_del ml5 fl"><span ng-hide ="$index < ngDialogData.brick.length-1" class="sj_icon_add ml5 fl"></span></span>
</th>
</tr>
<tr>
<th>&nbsp;</th>
<th>
<button class="sj_btn_blue mr5" ng-click="save()">保存</button>
</th>
<th>
<button class="sj_btn_grey mr5" ng-click="cancel()">取消</button>
</th>
<th colspan="5">&nbsp;</th>
</tr>
</tbody>
</table>
</div>
</div>
</script>
<div ng-controller="Kubernetes.TopLevel"> <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="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 class="row kubernetes-view" ng-view></div>

@ -1,5 +1,6 @@
/// <reference path="../../includes.ts"/> /// <reference path="../../includes.ts"/>
/// <reference path="configPlugin.ts"/> /// <reference path="configPlugin.ts"/>
/// <reference path="configsDataService.ts"/>
/// <reference path="../../developer/ts/developerNavigation.ts"/> /// <reference path="../../developer/ts/developerNavigation.ts"/>
/// <reference path="../../developer/ts/dataManagerHelper.ts"/> /// <reference path="../../developer/ts/dataManagerHelper.ts"/>
module Configs{ module Configs{
@ -129,6 +130,44 @@ module Configs{
title: "检索系统编码" title: "检索系统编码"
} }
]); ]);
} }
export function formatVolume(volume: volume): formatedVolume{
var brick:Array<Brick> = [];
angular.forEach(volume.brick, (block:Block) => {
brick.push({
ip: block.ip.split("."),
status: block.status,
path: block.path
});
});
return {
name: volume.name,
path: volume.path,
brick: brick,
status: volume.status
}
}
export function formatVolumes(volumes: Array<volume>): Array<formatedVolume>{
var result:Array<formatedVolume> = [];
angular.forEach(volumes, (volume) => {
result.push(formatVolume(volume));
});
return result;
}
export interface formatedVolume{
name: string
path: string
brick: Array<Brick>;
status: string;
}
export interface Brick{
ip: Array<string>;
status: boolean;
path: string;
}
} }

@ -6,7 +6,7 @@ module Configs {
export var context = "/config"; export var context = "/config";
export var pluginPath = 'plugins/configs/'; export var pluginPath = 'plugins/configs/';
export var templatePath = pluginPath + 'html/'; export var templatePath = pluginPath + 'html/';
export var _module = angular.module(pluginName, ['hawtio-core', 'hawtio-ui', 'ui.codemirror', 'nvd3', 'ngTable']); export var _module = angular.module(pluginName, ['hawtio-core', 'hawtio-ui', 'ui.codemirror', 'nvd3', 'ngTable', 'ngDialog']);
export var route = PluginHelpers.createRoutingFunction(templatePath); export var route = PluginHelpers.createRoutingFunction(templatePath);
export var controller = PluginHelpers.createControllerFunction(_module, pluginName); export var controller = PluginHelpers.createControllerFunction(_module, pluginName);

@ -5,6 +5,7 @@ module Configs{
export interface Block{ export interface Block{
ip:string; //存储块的机器ip地址 ip:string; //存储块的机器ip地址
path: string; //路径 path: string; //路径
status: boolean;
} }
export interface oracleParam{ export interface oracleParam{
@ -21,8 +22,10 @@ module Configs{
name: string; //volume的名字 name: string; //volume的名字
totalSize: number; //volume空间大小 totalSize: number; //volume空间大小
usedSize: number; // volume已使用空间大小 usedSize: number; // volume已使用空间大小
block: Block; //volume中的存储块 brick: Block; //volume中的存储块
folder?: Array<any>; //volume的文件 folder?: Array<any>; //volume的文件
status: string;
path: string;
} }
//字节大小转换成字符大小 //字节大小转换成字符大小

@ -3,12 +3,58 @@
/// <reference path="configsHelper.ts"/> /// <reference path="configsHelper.ts"/>
/// <reference path="configsUtils.ts"/> /// <reference path="configsUtils.ts"/>
/// <reference path="configsDataService.ts"/> /// <reference path="configsDataService.ts"/>
/// <reference path="../../kubernetes/ts/term.ts"/>
module Configs{ module Configs{
export var GfsController = controller('GfsController', ["$scope", "$templateCache", "$location", "$routeParams", "$http", "$timeout", 'ConfigsModel', export var GfsController = controller('GfsController', ["$scope", "$templateCache", "$location", "$routeParams", "$http", "$timeout", 'ConfigsModel', 'ngDialog',
($scope, $templateCache:ng.ITemplateCacheService, $location, $routeParams, $http, $timeout, ConfigsModel) =>{ ($scope, $templateCache:ng.ITemplateCacheService, $location, $routeParams, $http, $timeout, ConfigsModel, ngDialog) =>{
$scope.model = ConfigsModel; $scope.model = ConfigsModel;
$scope.volumes = ConfigsModel.cluster; $scope.volumes = ConfigsModel.cluster;
shareInit($scope, $location, $routeParams); shareInit($scope, $location, $routeParams);
$scope.createGfs = () => {
ngDialog.open({
template: 'newDialog.html',
width: 1005,
data: {
name: null,
path: null,
status: "",
brick: [{
ip: ["0", "0", "0", "0"],
path: "",
status: false
}]
},
className: 'ngdialog-theme-default',
controller: ['$scope', function($scope) {
$scope.save = () =>{
$scope.closeThisDialog();
}
$scope. cancel = () =>{
$scope.closeThisDialog();
}
}]
});
}
$scope.editRow = (volume) => {
var fVolume = formatVolume(volume);
ngDialog.open({
template: 'newDialog.html',
width: 1005,
data: fVolume,
className: 'ngdialog-theme-default',
controller: ['$scope', function($scope) {
console.log($scope);
$scope.save = () =>{
$scope.closeThisDialog();
}
$scope. cancel = () =>{
$scope.closeThisDialog();
}
}]
});
}
}]); }]);
} }

@ -9,5 +9,5 @@ module Configs{
$scope.deleteRow = (entity) =>{ $scope.deleteRow = (entity) =>{
$scope.$emit('deleteRow', entity); $scope.$emit('deleteRow', entity);
} }
}]); }]);
} }
Loading…
Cancel
Save