3 Copyright 2016 2015-2016 ZTE, Inc. and others. All rights reserved.
5 Licensed under the Apache License, Version 2.0 (the "License");
6 you may not use this file except in compliance with the License.
7 You may obtain a copy of the License at
9 http://www.apache.org/licenses/LICENSE-2.0
11 Unless required by applicable law or agreed to in writing, software
12 distributed under the License is distributed on an "AS IS" BASIS,
13 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 See the License for the specific language governing permissions and
15 limitations under the License.
18 email: meng.zhaoxing1@zte.com.cn
24 <meta charset="UTF-8">
25 <title id="org_openo_msb_route_title" name_i18n="org_openo_msb_route_ui_i18n"></title>
26 <link rel="shortcut icon" href="img/zte_logo_16.gif" />
28 href="js/fontAwesome/css/font-awesome.min.css"
31 href="js/bootstrap/css/bootstrap.min.css"
36 <link href="css/route.css" rel="stylesheet" type="text/css" />
37 <link href="css/animate.min.css" rel="stylesheet" type="text/css" />
38 <link href="js/dataTables/dataTables.bootstrap.css" rel="stylesheet" type="text/css" />
46 <script type="text/javascript" src="js/jquery/jquery-1.10.2.min.js"></script>
47 <script type="text/javascript">
48 var iuiRootPath="iui";
49 var apiRootPath="api";
51 $.ajaxSettings.async = false;
52 $.getJSON("./ext/initUrlRootPath/initUrlRootPath.json",function(json){
53 iuiRootPath=json.iuiRootPath;
54 apiRootPath=json.apiRootPath;
58 var apiBasePath="/"+apiRootPath+"/microservices/v1";
59 var iuiBasePath="/"+iuiRootPath+"/microservices";
67 <body class="ms-controller" ms-controller="routeController">
69 <div class="navbar" id="routeHead">
70 <div class="navbar-inner container-fluid" id="top-bar">
71 <header class="row-fluid">
72 <h3 class="span12" id="title">
73 <img class="logo" src="img/conductor-logo.png" alt="Logo" id="logo">
74 <small id="org_openo_msb_route_banner_title" name_i18n="org_openo_msb_route_ui_i18n"></small>
75 <button type="button" class="btn btn-default" ms-click="exportServices()" style="float:right;margin-left: 10px; margin-top: 5px;"><i class=" fa fa-external-link"></i> <span id="org_openo_msb_route_btn_export" name_i18n="org_openo_msb_route_ui_i18n"></span></button>
81 <script type="text/javascript">
82 if (self != top) {document.getElementById("routeHead").style.display="none";}
84 var currentLang = navigator.language;
85 if(!currentLang) {currentLang = navigator.browserLanguage; }
86 if(currentLang.toLowerCase() != "zh-cn") {$("#logo").hide(); }
89 <div style=" background-color: #f1f3fa !important; ">
92 <div class="row row1 container-fluid" ms-visible="boxVisible">
94 <ul class="nav nav-tabs" id="panelTab" style="margin-top: 10px;">
95 <li class="active" ><a href="#apiPanel" data-toggle="tab" id="apiTab"><i class="fa fa-cloud fa-1x"></i> <span id="org_openo_msb_route_tab_api" name_i18n="org_openo_msb_route_ui_i18n"></span> </a></li>
96 <li ><a href="#iuiPanel" data-toggle="tab" id="iuiTab"><i class="fa fa-tv fa-1x"></i> <span id="org_openo_msb_route_tab_iui" name_i18n="org_openo_msb_route_ui_i18n"></span></a></li>
98 <div class="tab-content" >
99 <div id="apiPanel" class="tab-pane active">
100 <div class="row" style=" margin-top: 10px;text-align:right; margin-right: 20px;">
102 <button ms-visible="!discoverInfo.enabled" class="btn btn-primary" id="app-new-btn" ms-click="$showApiRouteDlg()" >
103 <i class=" fa fa-plus-circle"></i> <span id="org_openo_msb_route_btn_add_api" name_i18n="org_openo_msb_route_ui_i18n"></span>
109 <div id="routeDlg" class="modal fade" tabindex="-1" role="dialog"
110 aria-labelledby="myModalLabel" aria-hidden="true" >
111 <div class="modal-dialog">
112 <div class="modal-content Changepasswd">
113 <div class="content">
114 <div class="modal-header">
115 <button type="button" class="close" data-dismiss="modal"
116 aria-hidden="true">×</button>
117 <h3 id="myModalLabel" ms-text="routeDlgInfo.titleName"></h3>
119 <div class="modal-body">
120 <div class="alert alert-info" ms-visible="server_rtn.info_block"></div>
121 <div class="alert alert-danger " ms-visible="server_rtn.warning_block" ms-text="server_rtn.rtn_info"></div>
126 <div id="info" class="tab-pane active">
128 <form class="form-horizontal" id="routeForm" role="form">
130 <div class="tipArea" id="org_openo_msb_route_form_sourceservice" name_i18n="org_openo_msb_route_ui_i18n"></div>
131 <div class="form-group" ms-visible="!discoverInfo.enabled">
133 <label class="control-label col-sm-3">
134 <span id="org_openo_msb_route_form_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
135 <span class="required" aria-required="true">*</span>
139 <div class="col-sm-6" style="padding-right: 5px;">
140 <div class="item-tip" id="org_openo_msb_route_form_host_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
141 <input type="text" ms-duplex="apiRouteInfo.server" name="server" class="form-control form-tip" ms-attr-disabled="discoverInfo.enabled" style="display:inline-block;" />
142 <span class="help-block"></span>
144 <div class="col-sm-1" style=" padding-left: 0px;" >
145 <a href="#" ms-click="addapiHost()" class="btn btn-default " title="org_openo_msb_route_form_btn_addhost" name_i18n="org_openo_msb_route_ui_i18n"><i class="fa fa-plus-circle"></i></a>
149 <div class="form-group">
150 <label class="control-label col-sm-3">
151 <span ms-visible="discoverInfo.enabled" id="org_openo_msb_route_form_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
153 <div class="hostTableDiv col-sm-7">
154 <table class="table table-striped hostTable">
157 <th id="org_openo_msb_route_form_node_no" name_i18n="org_openo_msb_route_ui_i18n"></th>
160 <th ms-visible="!discoverInfo.enabled" id="org_openo_msb_route_form_node_control" name_i18n="org_openo_msb_route_ui_i18n"></th>
163 <tbody ms-each-server="vm.apiRouteInfo.servers">
165 <td>{{$index+1}}</td>
166 <td ms-text="server.ip"></td>
167 <td ms-text="server.port"></td>
168 <td ms-visible="!discoverInfo.enabled"><a href="#" ms-click="delapiHost(server.ip,server.port)" style="padding: 0px 6px;" class="btn btn-default btn-s"><i class="fa fa-trash-o"></i></a></td>
178 <div class="form-group" tyle="margin-bottom: 0;">
179 <label class="control-label col-sm-3">
180 <span id="org_openo_msb_route_form_url" name_i18n="org_openo_msb_route_ui_i18n"></span>
181 <span class="required" aria-required="true">*</span>
183 <div class="col-sm-7">
185 <input type="text" ms-duplex="apiRouteInfo.url" name="url" class="form-control" id="form-url" value="/" ms-attr-disabled="discoverInfo.enabled"/>
186 <span class="help-block"></span>
190 <div class="tipArea" id="org_openo_msb_route_form_target_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
191 <div class="form-group">
192 <label class="control-label col-sm-3">
193 <span id="org_openo_msb_route_form_target_service" name_i18n="org_openo_msb_route_ui_i18n"></span>
196 <div class="col-sm-7">
198 {{vm.targetServiceUrl}}/{{vm.apiRootPath}}/{{vm.apiRouteInfo.serviceName}}/{{vm.apiRouteInfo.version}}
199 <span class="help-block"></span>
203 <div class="form-group">
204 <label class="control-label col-sm-3">
205 <span id="org_openo_msb_route_form_servicename" name_i18n="org_openo_msb_route_ui_i18n"></span>
206 <span class="required" aria-required="true">*</span>
208 <div class="col-sm-7">
209 <input type="text" ms-duplex="apiRouteInfo.serviceName" name="serviceName" class="form-control" ms-attr-disabled="discoverInfo.enabled" />
210 <span class="help-block"></span>
215 <div class="form-group">
216 <label class="control-label col-sm-3">
217 <span id="org_openo_msb_route_form_version" name_i18n="org_openo_msb_route_ui_i18n"></span>
220 <div class="col-sm-7">
221 <div class="item-tip" ms-class-item-tip-none ="routeDlgInfo.saveType=='update'" id="org_openo_msb_route_form_version_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
222 <input type="text" ms-duplex="apiRouteInfo.version" name="version" class="form-control form-tip" ms-attr-disabled="discoverInfo.enabled" />
223 <span class="help-block"></span>
230 <div class="form-group">
231 <label class="control-label col-sm-3">
232 <span><a href="javascript:;" class="collapse-box" data-toggle="collapse"
233 data-target="#apiJsonFullurl">
234 <i class="fa fa-plus" id="apiJsonCollapse"></i> <span id="org_openo_msb_route_form_swagger" name_i18n="org_openo_msb_route_ui_i18n"></span>
238 <div class="col-sm-7">
239 <div class="input-group">
240 <input type="text" class="form-control" ms-if="apiRouteInfo.apiJsonType=='1'" ms-duplex="apiJson.custom" ms-attr-disabled="routeDlgInfo.saveType=='view'"/>
241 <select class="form-control m-b" ms-if="apiRouteInfo.apiJsonType=='0'" ms-each="jsonApiSelectList.selectItems" ms-duplex="apiJson.local" id="apiJsonSelect" ms-attr-disabled="routeDlgInfo.saveType=='view'">
242 <option ms-attr-value='el'>{{el}}</option>
245 <div class="input-group-btn">
246 <button class="btn btn-default dropdown-toggle" data-toggle="dropdown" type="button" aria-expanded="false" ms-attr-disabled="routeDlgInfo.saveType=='view'">{{showAPITypeName[apiRouteInfo.apiJsonType]}} <span class="caret"></span></button>
247 <ul class="dropdown-menu pull-right">
248 <li><a ms-click="setAPIType(0)">{{showAPITypeName[0]}}</a></li>
249 <li><a ms-click="setAPIType(1)">{{showAPITypeName[1]}}</a></li>
253 <span class="help-block"></span>
261 <div id="apiJsonFullurl" class="form-group collapse in">
262 <label class="control-label col-sm-3"><span id="org_openo_msb_route_form_swagger_address" name_i18n="org_openo_msb_route_ui_i18n"></span></label>
263 <div class="col-sm-9">
265 <i class="fa fa-home fa-fw"></i> <span id="org_openo_msb_route_form_target_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
266 <span ms-if="vm.apiRouteInfo.apiJsonType==0">{{vm.targetServiceUrl}}/iui/microservices/ext/initSwaggerJson/{{vm.apiJson.local}}</span>
267 <span ms-if="vm.apiRouteInfo.apiJsonType==1">{{vm.apiRouteInfo.servers[0].ip+":"+vm.apiRouteInfo.servers[0].port}}{{vm.apiJson.custom}}</span>
270 <i class="fa fa-cloud-upload fa-fw"></i><span id="org_openo_msb_route_form_publish_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
271 <span ms-if="vm.apiRouteInfo.apiJsonType==0">{{vm.targetServiceUrl}}/iui/microservices/ext/initSwaggerJson/{{vm.apiJson.local}}</span>
272 <span ms-if="vm.apiRouteInfo.apiJsonType==1">{{vm.targetServiceUrl}}/apijson/{{vm.apiRouteInfo.serviceName}}/{{vm.apiRouteInfo.version}}</span>
279 <div class="form-group">
280 <label class="control-label col-sm-3">
281 <span><a href="javascript:;" class=" collapse-box" data-toggle="collapse"
282 data-target="#metricsFullurl">
283 <i class="fa fa-plus" id="metricsUrlCollapse"></i> <span id="org_openo_msb_route_form_metrics" name_i18n="org_openo_msb_route_ui_i18n"></span>
286 <div class="col-sm-7">
288 <input type="text" ms-duplex="apiRouteInfo.metricsUrl" name="metricsUrl" class="form-control" value="/admin/metrics" ms-attr-disabled="routeDlgInfo.saveType=='view'" />
291 <span class="help-block"></span>
297 <div id="metricsFullurl" class="form-group collapse in">
298 <label class="control-label col-sm-3"><span id="org_openo_msb_route_form_metrics_address" name_i18n="org_openo_msb_route_ui_i18n"></span></label>
299 <div class="col-sm-9">
301 <i class="fa fa-home fa-fw"></i><span id="org_openo_msb_route_form_target_address" name_i18n="org_openo_msb_route_ui_i18n"></span> {{vm.apiRouteInfo.servers[0].ip+":"+vm.apiRouteInfo.servers[0].port}}{{vm.apiRouteInfo.metricsUrl}}</span>
304 <i class="fa fa-cloud-upload fa-fw"></i><span id="org_openo_msb_route_form_publish_address" name_i18n="org_openo_msb_route_ui_i18n"></span> {{vm.targetServiceUrl}}/admin/{{vm.apiRouteInfo.serviceName}}/{{vm.apiRouteInfo.version}}
316 <div class="modal-footer"
317 ms-visible="routeDlgInfo.saveType!='view'">
318 <button class="btn" data-dismiss="modal" aria-hidden="true" id="org_openo_msb_route_form_btn_cancel" name_i18n="org_openo_msb_route_ui_i18n"></button>
319 <button class="btn btn-primary" type="submit" ms-click="$saveApiRoute()" id="org_openo_msb_route_form_btn_save" name_i18n="org_openo_msb_route_ui_i18n"></button>
321 <div class="modal-footer"
322 ms-visible="routeDlgInfo.saveType=='view'">
323 <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true" id="org_openo_msb_route_form_btn_close" name_i18n="org_openo_msb_route_ui_i18n"></button>
332 <div class="row" data-name="route_zone" >
334 <span class="response_throbber" ms-visible="vm.routeLoading"></span>
336 <div class="stats_box" ms-each-route="apiRouteArray">
338 <div class="routeDiv">
339 <div class="sparkline" ms-click="gotoTarget(route,'api')" data-name="route_click_zone">
340 <i class="fa fa-cloud fa-3x" ms-class-route-valid ="route.status === '1'" ms-class-route-invalid ="route.status === '0'"></i>
343 <div class="stat_text" ms-click="gotoTarget(route,'api')" data-name="route_click_zone">
344 <strong ms-text="route.serviceName"></strong>
345 <span><b id="org_openo_msb_route_box_version" name_i18n="org_openo_msb_route_ui_i18n"></b>{{route.version}}</span>
349 <span ms-visible="!discoverInfo.enabled">
351 <a class="btn btn-default" ms-click="updateApiRoute(route,'update')" title="org_openo_msb_route_box_btn_update" name_i18n="org_openo_msb_route_ui_i18n"><i class="fa fa-pencil-square-o" > </i></a>
352 <a class="btn btn-default" ms-click="delApiRoute(route.serviceName,route.version)" ms-visible="route.control !='1'" title="org_openo_msb_route_box_btn_delete" name_i18n="org_openo_msb_route_ui_i18n"><i class="fa fa-trash-o" > </i></a>
353 <a class="btn btn-default" ms-visible="route.status === '1' && route.control !='1'" title="org_openo_msb_route_box_btn_disable" name_i18n="org_openo_msb_route_ui_i18n" ms-click="updateApiRouteStatus(route.serviceName,route.version,'0')"><i class="fa fa-stop" style="color:red;font-size:10px"></i></a>
354 <a class="btn btn-default" ms-visible="route.status === '0' && route.control !='1'" title="org_openo_msb_route_box_btn_able" name_i18n="org_openo_msb_route_ui_i18n" ms-click="updateApiRouteStatus(route.serviceName,route.version,'1')"><i class="fa fa-play" style="color:green;font-size:10px"></i></a>
356 <span ms-visible="discoverInfo.enabled">
357 <a class="btn btn-default" ms-click="updateApiRoute(route,'update')"><i class="fa fa-pencil-square-o" title="org_openo_msb_route_box_btn_update" name_i18n="org_openo_msb_route_ui_i18n"> </i></a>
358 <a class="btn btn-default" ms-click="updateApiRoute(route,'view')"><i class="fa fa-file-text-o" title="org_openo_msb_route_box_btn_view" name_i18n="org_openo_msb_route_ui_i18n"> </i></a> </span>
368 <div id="iuiPanel" class="tab-pane">
369 <div class="row" style=" margin-top: 10px;text-align:right; margin-right: 20px;">
370 <button ms-visible="!discoverInfo.enabled" class="btn btn-primary" id="app-new-btn" ms-click="$showiuiRouteDlg()" >
371 <i class=" fa fa-plus-circle"></i> <span id="org_openo_msb_route_btn_add_iui" name_i18n="org_openo_msb_route_ui_i18n">
376 <div id="iuirouteDlg" class="modal fade" tabindex="-1" role="dialog"
377 aria-labelledby="myModalLabel" aria-hidden="true" >
378 <div class="modal-dialog">
379 <div class="modal-content Changepasswd">
380 <div class="content">
381 <div class="modal-header">
382 <button type="button" class="close" data-dismiss="modal"
383 aria-hidden="true">×</button>
384 <h3 id="myModalLabel" ms-text="routeDlgInfo.titleName"></h3>
386 <div class="modal-body">
387 <div class="alert alert-info" ms-visible="server_rtn.info_block"></div>
388 <div class="alert alert-danger " ms-visible="server_rtn.warning_block" ms-text="server_rtn.rtn_info"></div>
390 <form class="form-horizontal" id="iuirouteForm" role="form">
392 <div class="tipArea" id="org_openo_msb_route_form_sourceservice" name_i18n="org_openo_msb_route_ui_i18n"></div>
393 <div class="form-group" ms-visible="!discoverInfo.enabled">
395 <label class="control-label col-sm-3">
396 <span id="org_openo_msb_route_form_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
397 <span class="required" aria-required="true">*</span>
401 <div class="col-sm-6" style="padding-right: 5px;">
402 <div class="item-tip" id="org_openo_msb_route_form_host_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
403 <input type="text" ms-duplex="iuiRouteInfo.server" name="iuiserver" class="form-control form-tip" style="display:inline-block;" ms-attr-disabled="discoverInfo.enabled" />
404 <span class="help-block"></span>
406 <div class="col-sm-1" style=" padding-left: 0px;" >
407 <a href="#" ms-click="addiuiHost()" class="btn btn-default " title="org_openo_msb_route_form_btn_addhost" name_i18n="org_openo_msb_route_ui_i18n"><i class="fa fa-plus-circle"></i></a>
411 <div class="form-group">
412 <label class="control-label col-sm-3" >
414 <span ms-visible="discoverInfo.enabled" id="org_openo_msb_route_form_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
416 <div class="hostTableDiv col-sm-7">
417 <table class="table table-striped hostTable">
420 <th id="org_openo_msb_route_form_node_no" name_i18n="org_openo_msb_route_ui_i18n"></th>
423 <th ms-visible="routeDlgInfo.saveType!='view'" id="org_openo_msb_route_form_node_control" name_i18n="org_openo_msb_route_ui_i18n"></th>
426 <tbody ms-each-server="vm.iuiRouteInfo.servers">
428 <td>{{$index+1}}</td>
429 <td ms-text="server.ip"></td>
430 <td ms-text="server.port"></td>
431 <td ms-visible="routeDlgInfo.saveType!='view'"><a href="#" ms-click="deliuiHost(server.ip,server.port)" style="padding: 0px 6px;" class="btn btn-default btn-s"><i class="fa fa-trash-o"></i></a></td>
442 <div class="form-group" tyle="margin-bottom: 0;">
443 <label class="control-label col-sm-3">
444 <span id="org_openo_msb_route_form_url" name_i18n="org_openo_msb_route_ui_i18n"></span>
445 <span class="required" aria-required="true">*</span>
447 <div class="col-sm-7">
449 <input type="text" ms-duplex="iuiRouteInfo.url" name="iuiurl" class="form-control" value="/" ms-attr-disabled="discoverInfo.enabled" />
450 <span class="help-block"></span>
454 <div class="tipArea" id="org_openo_msb_route_form_target_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
455 <div class="form-group">
456 <label class="control-label col-sm-3">
457 <span id="org_openo_msb_route_form_target_service" name_i18n="org_openo_msb_route_ui_i18n"></span>
460 <div class="col-sm-7">
462 {{vm.targetServiceUrl}}/{{vm.iuiRootPath}}/{{vm.iuiRouteInfo.serviceName}}
463 <span class="help-block"></span>
465 <!--i class="fa fa-info-circle fa-lg tip_color" data-toggle="tooltip" data-placement="bottom" title="org_openo_msb_route_form_iui_tip" name_i18n="org_openo_msb_route_ui_i18n" ></i-->
468 <div class="form-group">
469 <label class="control-label col-sm-3">
470 <span id="org_openo_msb_route_form_servicename" name_i18n="org_openo_msb_route_ui_i18n"></span>
471 <span class="required" aria-required="true">*</span>
473 <div class="col-sm-7">
474 <input type="text" ms-duplex="iuiRouteInfo.serviceName" name="iuiserviceName" class="form-control" ms-attr-disabled="discoverInfo.enabled" />
475 <span class="help-block"></span>
492 <div class="modal-footer" ms-visible="routeDlgInfo.saveType!='view'">
493 <button class="btn" data-dismiss="modal" aria-hidden="true" id="org_openo_msb_route_form_btn_cancel" name_i18n="org_openo_msb_route_ui_i18n"></button>
494 <button class="btn btn-primary" type="submit" ms-click="$saveiuiRoute()" id="org_openo_msb_route_form_btn_save" name_i18n="org_openo_msb_route_ui_i18n"></button>
496 <div class="modal-footer"
497 ms-visible="routeDlgInfo.saveType=='view'">
498 <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true" id="org_openo_msb_route_form_btn_close" name_i18n="org_openo_msb_route_ui_i18n"></button>
506 <div class="row" data-name="route_zone" >
508 <span class="response_throbber" ms-visible="vm.routeLoading"></span>
510 <div class="stats_box" ms-each-route="iuiRouteArray">
512 <div class="routeDiv" ms-visible="route.control !='2'">
513 <div class="sparkline" ms-click="gotoTarget(route,'iui')" data-name="route_click_zone">
514 <i class="fa fa-tv fa-3x" ms-class-route-valid ="route.status === '1'" ms-class-route-invalid ="route.status === '0'"></i>
517 <div class="stat_text" ms-click="gotoTarget(route,'iui')" data-name="route_click_zone">
518 <strong ms-text="route.serviceName"></strong>
519 <span>{{route.servers[0].ip}}:{{route.servers[0].port}}</span>
521 <span ms-visible="!discoverInfo.enabled">
523 <a class="btn btn-default" ms-click="updateiuiRoute(route,'update')"><i class="fa fa-pencil-square-o" title="org_openo_msb_route_box_btn_update" name_i18n="org_openo_msb_route_ui_i18n" > </i></a>
524 <a class="btn btn-default" ms-click="deliuiRoute(route.serviceName)" ms-visible="route.control !='1'"><i class="fa fa-trash-o" title="删除"> </i></a>
525 <a class="btn btn-default" ms-visible="route.status === '1' && route.control !='1'" title="org_openo_msb_route_box_btn_disable" name_i18n="org_openo_msb_route_ui_i18n" ms-click="updateiuiRouteStatus(route.serviceName,'0')"><i class="fa fa-stop" style="color:red;font-size:10px"></i></a>
526 <a class="btn btn-default" ms-visible="route.status === '0' && route.control !='1'" title="org_openo_msb_route_box_btn_able" name_i18n="org_openo_msb_route_ui_i18n" ms-click="updateiuiRouteStatus(route.serviceName,'1')"><i class="fa fa-play" style="color:green;font-size:10px"></i></a>
528 <span ms-visible="discoverInfo.enabled"><a class="btn btn-default" ms-click="updateiuiRoute(route,'view')"><i class="fa fa-file-text-o" title="org_openo_msb_route_box_btn_view" name_i18n="org_openo_msb_route_ui_i18n"> </i></a> </span>
538 <div id="customPanel" class="tab-pane">
539 <div class="row" style=" margin-top: 10px;text-align:right; margin-right: 20px;">
540 <button ms-visible="!discoverInfo.enabled" class="btn btn-primary" id="app-new-btn" ms-click="$showcustomRouteDlg()" >
541 <i class=" fa fa-plus-circle"></i> <span id="org_openo_msb_route_btn_add_custom" name_i18n="org_openo_msb_route_ui_i18n"></span>
546 <div id="customrouteDlg" class="modal fade" tabindex="-1" role="dialog"
547 aria-labelledby="myModalLabel" aria-hidden="true" >
548 <div class="modal-dialog">
549 <div class="modal-content Changepasswd">
550 <div class="content">
551 <div class="modal-header">
552 <button type="button" class="close" data-dismiss="modal"
553 aria-hidden="true">×</button>
554 <h3 id="myModalLabel" ms-text="routeDlgInfo.titleName"></h3>
556 <div class="modal-body">
557 <div class="alert alert-info" ms-visible="server_rtn.info_block"></div>
558 <div class="alert alert-danger " ms-visible="server_rtn.warning_block" ms-text="server_rtn.rtn_info"></div>
560 <form class="form-horizontal" id="customrouteForm" role="form">
562 <div class="tipArea" id="org_openo_msb_route_form_sourceservice" name_i18n="org_openo_msb_route_ui_i18n"></div>
563 <div class="form-group" ms-visible="!discoverInfo.enabled">
565 <label class="control-label col-sm-3">
566 <span id="org_openo_msb_route_form_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
567 <span class="required" aria-required="true">*</span>
571 <div class="col-sm-6" style="padding-right: 5px;">
572 <div class="item-tip" id="org_openo_msb_route_form_host_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
573 <input type="text" ms-duplex="customRouteInfo.server" name="customserver" class="form-control form-tip" style="display:inline-block;" ms-attr-disabled="discoverInfo.enabled" />
574 <span class="help-block"></span>
576 <div class="col-sm-1" style=" padding-left: 0px;" ms-visible="routeDlgInfo.saveType!='view'">
577 <a href="#" ms-click="addcustomHost()" class="btn btn-default " title="org_openo_msb_route_form_btn_addhost" name_i18n="org_openo_msb_route_ui_i18n"><i class="fa fa-plus-circle"></i></a>
581 <div class="form-group">
582 <label class="control-label col-sm-3">
583 <span ms-visible="discoverInfo.enabled" id="org_openo_msb_route_form_address" name_i18n="org_openo_msb_route_ui_i18n"></span>
585 <div class="hostTableDiv col-sm-7">
586 <table class="table table-striped hostTable">
589 <th id="org_openo_msb_route_form_node_no" name_i18n="org_openo_msb_route_ui_i18n"></th>
592 <th ms-visible="routeDlgInfo.saveType!='view'" id="org_openo_msb_route_form_node_control" name_i18n="org_openo_msb_route_ui_i18n"></th>
595 <tbody ms-each-server="vm.customRouteInfo.servers">
597 <td>{{$index+1}}</td>
598 <td ms-text="server.ip"></td>
599 <td ms-text="server.port"></td>
600 <td ms-visible="routeDlgInfo.saveType!='view'"><a href="#" ms-click="delcustomHost(server.ip,server.port)" style="padding: 0px 6px;" class="btn btn-default btn-s"><i class="fa fa-trash-o"></i></a></td>
612 <div class="form-group" tyle="margin-bottom: 0;">
613 <label class="control-label col-sm-3">
614 <span id="org_openo_msb_route_form_url" name_i18n="org_openo_msb_route_ui_i18n"></span>
615 <span class="required" aria-required="true">*</span>
617 <div class="col-sm-7">
619 <input type="text" ms-duplex="customRouteInfo.url" name="customurl" class="form-control" value="/" ms-attr-disabled="discoverInfo.enabled" />
620 <span class="help-block"></span>
625 <div class="tipArea" id="org_openo_msb_route_form_target_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
626 <div class="form-group">
627 <label class="control-label col-sm-3">
628 <span id="org_openo_msb_route_form_target_service" name_i18n="org_openo_msb_route_ui_i18n"></span>
631 <div class="col-sm-7">
633 {{vm.targetServiceUrl}}{{vm.customRouteInfo.serviceName}}
634 <span class="help-block"></span>
639 <div class="form-group">
640 <label class="control-label col-sm-3">
641 <span id="org_openo_msb_route_form_servicename" name_i18n="org_openo_msb_route_ui_i18n"></span>
644 <div class="col-sm-7">
645 <input type="text" ms-duplex="customRouteInfo.serviceName" name="customserviceName" class="form-control" ms-attr-disabled="discoverInfo.enabled" />
646 <span class="help-block"></span>
659 <div class="modal-footer" ms-visible="routeDlgInfo.saveType!='view'">
660 <button class="btn" data-dismiss="modal" aria-hidden="true" id="org_openo_msb_route_form_btn_cancel" name_i18n="org_openo_msb_route_ui_i18n"></button>
661 <button class="btn btn-primary" type="submit" ms-click="$savecustomRoute()" id="org_openo_msb_route_form_btn_save" name_i18n="org_openo_msb_route_ui_i18n"></button>
663 <div class="modal-footer"
664 ms-visible="routeDlgInfo.saveType=='view'">
665 <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true" id="org_openo_msb_route_form_btn_close" name_i18n="org_openo_msb_route_ui_i18n"></button>
673 <div class="row" data-name="route_zone" >
675 <span class="response_throbber" ms-visible="vm.routeLoading"></span>
678 <div ms-each-el="customGroupRouteArray">
679 <div class="form-title">
680 <span><a data-toggle="collapse" >{{routeUtil.showGroupName($index,el)}}</a>
681 <span class="label label-info" style="margin-left: 10px;">{{customGroupRouteArray[$index].length}}</span>
683 <div class="panel-tools">
684 <a class="showhide" data-toggle="collapse"><i class="fa fa-chevron-up"></i></a>
687 <div style="width: 100%;" class="collapseContent collapse in">
688 <div class="stats_box" ms-each-elem="el">
689 <div class="routeDiv" ms-visible="elem.control !='2'">
690 <div class="sparkline" data-name="route_click_zone">
691 <i class="fa fa-cogs fa-3x" ms-class-route-valid ="elem.status === '1'" ms-class-route-invalid ="elem.status === '0'"></i>
694 <div class="stat_text" data-name="route_click_zone" style="padding: 9px 0px 4px 0;">
695 <strong ms-text="elem.serviceName==''?'/':elem.serviceName" style="height: 35px;word-wrap:break-word;word-break: normal;"></strong>
696 <span>{{elem.servers[0].ip}}:{{elem.servers[0].port}}</span>
698 <span ms-visible="!discoverInfo.enabled">
700 <a class="btn btn-default" ms-click="updatecustomRoute(elem,'update')"><i class="fa fa-pencil-square-o" title="org_openo_msb_route_box_btn_update" name_i18n="org_openo_msb_route_ui_i18n" > </i></a>
701 <a class="btn btn-default" ms-click="delcustomRoute(elem.serviceName)" ms-visible="elem.control !='1'"><i class="fa fa-trash-o" title="删除"> </i></a>
702 <a class="btn btn-default" ms-visible="elem.status === '1' && elem.control !='1'" title="org_openo_msb_route_box_btn_disable" name_i18n="org_openo_msb_route_ui_i18n" ms-click="updatecustomRouteStatus(elem.serviceName,'0')"><i class="fa fa-stop" style="color:red;font-size:10px"></i></a>
703 <a class="btn btn-default" ms-visible="elem.status === '0' && elem.control !='1'" title="org_openo_msb_route_box_btn_able" name_i18n="org_openo_msb_route_ui_i18n" ms-click="updatecustomRouteStatus(elem.serviceName,'1')"><i class="fa fa-play" style="color:green;font-size:10px"></i></a>
705 <span ms-visible="discoverInfo.enabled"><a class="btn btn-default" ms-click="updatecustomRoute(elem,'view')"><i class="fa fa-file-text-o" title="org_openo_msb_route_box_btn_view" name_i18n="org_openo_msb_route_ui_i18n"> </i></a> </span>
721 <div id="msbPanel" class="tab-pane">
722 <div class="row" style=" margin-top: 10px;text-align:right; margin-right: 20px;">
723 <button class="btn btn-primary" id="app-new-btn" ms-click="$showmsbRouteDlg()" >
724 <i class=" fa fa-plus-circle"></i> <span id="org_openo_msb_route_btn_add_msb" name_i18n="org_openo_msb_route_ui_i18n"></span>
729 <div id="msbrouteDlg" class="modal fade" tabindex="-1" role="dialog"
730 aria-labelledby="myModalLabel" aria-hidden="true" >
731 <div class="modal-dialog">
732 <div class="modal-content">
733 <div class="content">
734 <div class="modal-header">
735 <button type="button" class="close" data-dismiss="modal"
736 aria-hidden="true">×</button>
737 <h3 id="myModalLabel" ms-text="routeDlgInfo.titleName"></h3>
739 <div class="modal-body">
740 <div class="alert alert-info" ms-visible="server_rtn.info_block"></div>
741 <div class="alert alert-danger " ms-visible="server_rtn.warning_block" ms-text="server_rtn.rtn_info"></div>
743 <form class="form-horizontal" id="msbForm" role="form">
744 <div class="tipArea" id="org_openo_msb_route_msb_info" name_i18n="org_openo_msb_route_ui_i18n"></div>
745 <div class="form-group">
746 <label class="control-label col-sm-3">
747 <span id="org_openo_msb_route_form_servicename" name_i18n="org_openo_msb_route_ui_i18n"></span>
748 <span class="required" aria-required="true">*</span>
750 <div class="col-sm-7">
751 <input type="text" ms-duplex="msbRouteInfo.serviceName" name="serviceName" class="form-control" />
752 <span class="help-block"></span>
757 <div class="form-group">
758 <label class="control-label col-sm-3">
759 <span id="org_openo_msb_route_form_version" name_i18n="org_openo_msb_route_ui_i18n"></span>
761 <div class="col-sm-7">
762 <div class="item-tip" id="org_openo_msb_route_form_version_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
763 <input type="text" ms-duplex="msbRouteInfo.version" name="version" class="form-control form-tip" />
764 <span class="help-block"></span>
771 <div class="form-group">
772 <label class="control-label col-sm-3">
773 <span id="org_openo_msb_route_form_url" name_i18n="org_openo_msb_route_ui_i18n"></span>
775 <div class="col-sm-7">
777 <input type="text" ms-duplex="msbRouteInfo.url" name="url" class="form-control" />
778 <span class="help-block"></span>
784 <div class="form-group">
785 <label class="control-label col-sm-3">
786 <span id="org_openo_msb_route_form_protocol" name_i18n="org_openo_msb_route_ui_i18n"></span>
787 <span class="required" aria-required="true">*</span>
789 <div class="col-sm-7">
790 <select class="form-control m-b" ms-each="$msbProtocol" name="protocol" ms-duplex="msbRouteInfo.protocol" >
791 <option ms-attr-value='el'>{{el}}</option>
793 <span class="help-block"></span>
798 <div class="form-group">
799 <label class="control-label col-sm-3">
800 <span id="org_openo_msb_route_form_visualrange" name_i18n="org_openo_msb_route_ui_i18n"></span>
801 <span class="required" aria-required="true">*</span>
803 <div class="col-sm-7">
804 <input type="checkbox" ms-duplex="msbRouteInfo.visualRangeArray" value="0" ><span style="margin-right: 20px;" id="org_openo_msb_route_form_intersystem" name_i18n="org_openo_msb_route_ui_i18n" ></span>
805 <input type="checkbox" ms-duplex="msbRouteInfo.visualRangeArray" value="1" ><span style="margin-right: 20px;" id="org_openo_msb_route_form_insystem" name_i18n="org_openo_msb_route_ui_i18n"></span>
807 <span class="help-block"></span>
812 <div class="tipArea" id="org_openo_msb_route_msb_hostlist" name_i18n="org_openo_msb_route_ui_i18n"></div>
814 <div class="form-group">
816 <label class="control-label col-sm-3">
817 <span id="org_openo_msb_route_form_msb_host" name_i18n="org_openo_msb_route_ui_i18n"></span>
818 <span class="required" aria-required="true">*</span>
822 <div class="col-sm-4" style="padding-right: 5px;">
823 <div class="item-tip" id="org_openo_msb_route_form_host_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
825 <input type="text" placeholder="" ms-duplex="msbRouteInfo.newHost" class="form-control form-tip" name="newHost" style="display:inline-block;" />
827 <span class="help-block"></span>
829 <div class="col-sm-2" style="padding-right: 5px;">
830 <div class="item-tip" id="org_openo_msb_route_form_ttl_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
832 <input type="text" placeholder="" ms-duplex="msbRouteInfo.newttl" class="form-control form-tip" name="newttl" style="display:inline-block;" />
834 <span class="help-block"></span>
836 <div class="col-sm-1" style=" padding-left: 0px;">
837 <a href="#" ms-click="addmsbHost()" class="btn btn-default " title="org_openo_msb_route_form_btn_addhost" name_i18n="org_openo_msb_route_ui_i18n"><i class="fa fa-plus-circle"></i></a>
841 <div class="form-group">
842 <label class="control-label col-sm-3"></label>
843 <div class="hostTableDiv col-sm-7">
844 <table class="table table-striped hostTable">
847 <th id="org_openo_msb_route_form_node_no" name_i18n="org_openo_msb_route_ui_i18n"></th>
851 <th id="org_openo_msb_route_form_node_control" name_i18n="org_openo_msb_route_ui_i18n"></th>
854 <tbody ms-each-node="vm.msbRouteInfo.nodes">
856 <td>{{$index+1}}</td>
857 <td ms-text="node.ip"></td>
858 <td ms-text="node.port"></td>
859 <td ms-text="node.ttl"></td>
860 <td><a href="#" title="org_openo_msb_route_form_btn_delhost" name_i18n="org_openo_msb_route_ui_i18n" ms-click="delmsbHost(node.ip,node.port)" style="padding: 0px 6px;" class="btn btn-default btn-s"><i class="fa fa-trash-o"></i></a></td>
870 <div class="tipArea" ms-visible="msbRouteInfo.protocol=='REST'||msbRouteInfo.protocol=='UI'" id="org_openo_msb_route_form_target_tip" name_i18n="org_openo_msb_route_ui_i18n"></div>
871 <div class="form-group" ms-visible="msbRouteInfo.protocol=='REST'||msbRouteInfo.protocol=='UI'">
872 <label class="control-label col-sm-3">
873 <span id="org_openo_msb_route_form_target_service" name_i18n="org_openo_msb_route_ui_i18n"></span>
876 <div class="col-sm-7">
877 {{vm.targetFullServiceUrl}}
891 <div class="modal-footer">
892 <button class="btn" data-dismiss="modal" aria-hidden="true" id="org_openo_msb_route_form_btn_cancel" name_i18n="org_openo_msb_route_ui_i18n"></button>
893 <button class="btn btn-primary" type="submit" ms-click="$savemsbRoute()" id="org_openo_msb_route_form_btn_save" name_i18n="org_openo_msb_route_ui_i18n"></button>
900 <div class="row" data-name="route_zone" >
903 <div class="table-responsive">
904 <table class="table table-striped table-bordered table-hover" id="msbTable">
908 <th style="display:none"></th>
909 <th id="org_openo_msb_route_form_node_no" name_i18n="org_openo_msb_route_ui_i18n"></th>
910 <th id="org_openo_msb_route_form_servicename" name_i18n="org_openo_msb_route_ui_i18n"></th>
911 <th id="org_openo_msb_route_form_version" name_i18n="org_openo_msb_route_ui_i18n"></th>
913 <th id="org_openo_msb_route_form_url" name_i18n="org_openo_msb_route_ui_i18n"></th>
914 <th id="org_openo_msb_route_form_protocol" name_i18n="org_openo_msb_route_ui_i18n"></th>
915 <th id="org_openo_msb_route_form_visualrange" name_i18n="org_openo_msb_route_ui_i18n"></th>
917 <th id="org_openo_msb_route_form_node_control" name_i18n="org_openo_msb_route_ui_i18n"></th>
920 <tbody ms-each-msb="msbRouteArray">
922 <td class="details-control"></td>
923 <td ms-each-node="msb.nodes" style="display:none">
924 {{node.ip}}:{{node.port}}:{{node.ttl}}
926 <td ms-text="$index+1"></td>
927 <td ms-text="msb.serviceName"></td>
928 <td ms-text="msb.version"></td>
930 <td>{{msb.url==""?"/":msb.url}}</td>
931 <td ms-text="msb.protocol"></td>
932 <td ms-text="routeUtil.showVisualRange(msb.visualRange)"></td>
933 <!--td ms-html="routeUtil.showStatus(msb.status)"></td-->
936 <a href="#" title="org_openo_msb_route_box_btn_update" name_i18n="org_openo_msb_route_ui_i18n" class="btn btn-default btn-s" ms-click="updatemsbRoute(msb)"><i class="fa fa fa-pencil-square-o"></i></a>
937 <a href="#" title="org_openo_msb_route_box_btn_delete" name_i18n="org_openo_msb_route_ui_i18n" class="btn btn-default btn-s" ms-click="delmsbRoute(msb.serviceName,msb.version,this)"><i class="fa fa-trash-o"></i></a>
959 <div class="row-fluid separator" id="upArrawDiv">
960 <div ms-visible="boxVisible" class="col-xs-12">
961 <a href="#" ms-click="clickDisplayGraphAlink()"><img src="img/up.png"/></a>
968 <div class="row-fluid separator">
970 <div ms-visible="!boxVisible" class="col-xs-12">
971 <a href="#" ms-click="clickDisplayGraphAlink()" ><img src="img/down.png"/></a>
975 <div class="container-fluid" style="margin-top:20px" id="serviceContent">
977 <div class="row" style=" margin-top: 15px;">
978 <div class="col-xs-6 col-md-6 col-sm-6 col-lg-6">
979 <i class="fa fa-file-text-o fa-fw"></i>
980 <span class=" titlefont" ms-text="routeTargetTitle"></span>
983 <div class="pull-right" ms-visible="vm.selectedRouteType=='api'">
984 <button type="button" class="btn btn-default btn-sm" style="padding:3px 8px" ms-click="gotoRestDoc()"><i class="fa fa-link"></i> <span id="org_openo_msb_route_servicecontent_swagger" name_i18n="org_openo_msb_route_ui_i18n"></span></button>
985 <button type="button" class="btn btn-default btn-sm" style="padding:3px 8px" ms-click="gotoJVM()" ms-visible="vm.selectedRoute.metricsUrl!=''"><i class="fa fa-bar-chart"></i> <span id="org_openo_msb_route_servicecontent_metrics" name_i18n="org_openo_msb_route_ui_i18n"></span></button>
989 <div class="separator-line"></div>
993 <iframe src="" width="100%" scrolling="no" marginheight="0" frameborder="0" id="msbSubPage" name="msbSubPage" class="page-mainIframeisWare" ></iframe>
1002 <script type="text/javascript" src="js/jquery.i18n/jquery.i18n.properties-1.0.9.js"></script>
1005 <script type="text/javascript" src="js/iframeResizer/iframeResizer.min.js"></script>
1006 <script type="text/javascript" src="js/iframeResizer/iframeResizer.contentWindow.min.js"></script>
1008 <script type="text/javascript" src="js/bootstrap/js/bootstrap.min.js"></script>
1009 <script type="text/javascript" src="js/dataTables/jquery.dataTables.min.js"></script>
1010 <script type="text/javascript" src="js/dataTables/dataTables.bootstrap.min.js"></script>
1011 <script type="text/javascript" src="js/bootbox/bootbox.min.js"></script>
1012 <script src="js/bootstrap-growl.min.js"></script>
1013 <script src="js/jquery-validation/jquery.validate.js"></script>
1014 <script type="text/javascript" src="js/avalon.js"></script>
1017 <script src="i18n/loadi18nApp_iui-route_view.js"></script>
1020 <script type="text/javascript" src="js/routeController.js"></script>
1023 <script type="text/javascript">
1027 $('iframe').iFrameResize();
1028 loadPropertiesSideMenu('', 'msb-iui-route-i18n', 'i18n/');
1036 <script src="js/routeUtil.js"></script>
1037 <script src="js/routeFunc.js"></script>