From 4ed15bda06c8e9a407c12d527b8224737ba339d5 Mon Sep 17 00:00:00 2001 From: HuabingZhao Date: Sat, 13 Aug 2016 14:10:39 +0800 Subject: Initial code import Change-Id: I839b84e5200aedece6c33deb16bec1bf9dbb61df Signed-off-by: HuabingZhao --- .../main/resources/iui-route/js/routeController.js | 1823 ++++++++++++++++++++ 1 file changed, 1823 insertions(+) create mode 100644 apiroute/apiroute-service/src/main/resources/iui-route/js/routeController.js (limited to 'apiroute/apiroute-service/src/main/resources/iui-route/js/routeController.js') diff --git a/apiroute/apiroute-service/src/main/resources/iui-route/js/routeController.js b/apiroute/apiroute-service/src/main/resources/iui-route/js/routeController.js new file mode 100644 index 0000000..ba7f6d5 --- /dev/null +++ b/apiroute/apiroute-service/src/main/resources/iui-route/js/routeController.js @@ -0,0 +1,1823 @@ +/* + * Copyright (C) 2016 ZTE, Inc. and others. All rights reserved. (ZTE) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +var table; +var vm = avalon + .define({ + $id : "routeController", + targetServiceUrl:"", + targetFullServiceUrl:"", + iuiRootPath:iuiRootPath, + apiRootPath:apiRootPath, + apiIframeUrl:"", + iuiIframeUrl:"", + boxVisible:true, + routeTargetTitle:$.i18n.prop("org_openo_msb_route_content_title"), + server_rtn:{ + info_block:false, + warning_block:false, + rtn_info:"" + }, + showAPIType:"0", + showAPITypeName:[$.i18n.prop("org_openo_msb_route_swagger_type_predefined"),$.i18n.prop("org_openo_msb_route_swagger_type_custominput")], + $msbProtocol :["REST","UI","MQ","FTP","SNMP","TCP","UDP"], + $msbType:["UI","NAF","SAF"], + apiJson:{ + local:"", + custom:"" + }, + setAPIType:function(type){ + vm.apiRouteInfo.apiJsonType=type; + if(type==0){ + vm.apiJson.local=vm.jsonApiSelectList.selectItems[0]; + } + + }, + jsonApiSelectList: { + condName : "type", + component_type : 'select', + selectItems : [] + }, + + dataTableLanguage: { + "sProcessing": "  Loadding...", + "sLengthMenu": $.i18n.prop("org_openo_msb_route-table-sLengthMenu"), + "sZeroRecords": $.i18n.prop("org_openo_msb_route-table-sZeroRecords"), + "sInfo": " " + $.i18n.prop("org_openo_msb_route-table-sInfo"), + "sInfoEmpty": $.i18n.prop("org_openo_msb_route-table-sInfoEmpty"), + "sGroupActions": $.i18n.prop("org_openo_msb_route-table-sGroupActions"), + "sAjaxRequestGeneralError": $.i18n.prop("org_openo_msb_route-table-sAjaxRequestGeneralError"), + "sEmptyTable": $.i18n.prop("org_openo_msb_route-table-sEmptyTable"), + "oPaginate": { + "sPrevious": $.i18n.prop("org_openo_msb_route-table-sPrevious"), + "sNext": $.i18n.prop("org_openo_msb_route-table-sNext"), + "sPage": $.i18n.prop("org_openo_msb_route-table-sPage"), + "sPageOf": $.i18n.prop("org_openo_msb_route-table-sPageOf") + }, + "sSearch": $.i18n.prop("org_openo_msb_route-table-search"), + "sInfoFiltered": $.i18n.prop("org_openo_msb_route-table-infofilter") + }, + $apiRouteUrl :apiBasePath+'/apiRoute', + $apiRouteInstanceUrl :apiBasePath+'/apiRoute/{serviceName}/version/{version}', + $apiRouteStatusUrl :apiBasePath+'/apiRoute/{serviceName}/version/{version}/status/{status}', + $apiDocsUrl :apiBasePath+'/apiRoute/apiDocs', + $apiGatewayPortUrl :apiBasePath+'/apiRoute/apiGatewayPort', + $discoverInfoUrl :apiBasePath+'/apiRoute/discoverInfo', + $iuiRouteUrl :apiBasePath+'/iuiRoute', + $iuiRouteInstanceUrl :apiBasePath+'/iuiRoute/{serviceName}', + $iuiRouteStatusUrl :apiBasePath+'/iuiRoute/{serviceName}/status/{status}', + $customRouteUrl :apiBasePath+'/customRoute/all', + $customRouteInstanceUrl :apiBasePath+'/customRoute/instance', + $customRouteStatusUrl :apiBasePath+'/customRoute/status', + $msbRouteUrl:apiBasePath+'/services', + $msbRouteInstanceUrl :apiBasePath+'/services/{serviceName}/version/{version}', + routeLoading:false, + apiRouteArray : [], + apiRouteInfo : { + oldServiceName:"", + serviceName : "", + oldVersion:"", + version : "", + status:"", + url:"", + metricsUrl:"/admin/metrics", + apiJson:"/swagger.json", + apiJsonType:"1", + control:"", + server:"", + servers: [] + }, + iuiRouteArray : [], + iuiRouteInfo : { + oldServiceName:"", + serviceName : "", + status:"", + url:"", + server:"", + control:"", + servers: [] + }, + customRouteArray : [], + customGroupRouteArray : [], + customRouteInfo : { + oldServiceName:"", + serviceName : "", + status:"", + url:"", + server:"", + control:"", + servers: [] + }, + msbRouteArray : [], + msbRouteInfo : { + oldServiceName:"", + oldVersion:"", + serviceName : "", + version:"", + status:"0", + nodes:[], + newHost:"", + newttl:0, + url:"", + protocol:"", + visualRange:"", + visualRangeArray:[] + }, + discoverInfo:{ + ip:"", + port:"", + enabled:false, + deployMode:"" + }, + selectedRoute:"", + selectedRouteType:"", + routeDlgInfo:{ + titleName:"", + saveType:"" + }, + $initRoute : function() { + + + + vm.routeLoading=true; + + $.ajax({ + "type": 'get', + async: false, + "url": vm.$discoverInfoUrl, + "dataType": "json", + success: function (resp) { + + vm.discoverInfo = (resp==null)?"":resp; + + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert("get discoverInfo fails:"+textStatus+":"+errorThrown); + } + }); + + $.ajax({ + "type": 'get', + "url": vm.$apiRouteUrl, + "dataType": "json", + success: function (resp) { + vm.apiRouteArray = (resp==null)?[]:resp; + vm.apiRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert("get api services fails:"+textStatus+":"+errorThrown); + return; + }, + complete:function(){ + vm.routeLoading=false; + routeUtil.refreshRoute(); + $.ajax({ + "type": 'get', + "url": vm.$apiGatewayPortUrl, + "dataType": "text", + success: function (resp) { + + vm.targetServiceUrl=location.hostname+":"+resp; + + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert("get apiGateway published port fails:"+textStatus+":"+errorThrown); + } + }); + } + }); + + + + $.ajax({ + "type": 'get', + "url": vm.$iuiRouteUrl, + "dataType": "json", + success: function (resp) { + vm.iuiRouteArray = (resp==null)?[]:resp; + vm.iuiRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert("get iui services fails:"+textStatus+":"+errorThrown); + return; + }, + complete:function(){ + routeUtil.refreshRoute(); + } + }); + + + + $.ajax({ + "type": 'get', + "url": vm.$customRouteUrl, + "dataType": "json", + success: function (resp) { + vm.customRouteArray = (resp==null)?[]:resp; + + if(resp!=null && resp.length>0) + { + routeUtil.groupRoute(resp); + } + + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert("get custom services fails:"+textStatus+":"+errorThrown); + return; + }, + complete:function(){ + routeUtil.refreshRoute(); + } + }); + + + $.ajax({ + "type": 'get', + "url": vm.$apiDocsUrl, + "dataType": "json", + success: function (resp) { + vm.jsonApiSelectList.selectItems= (resp==null)?[]:resp; + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert("get local apiDocs fails:"+textStatus+":"+errorThrown); + } + }); + + + + vm.initMSBRoute(); + + + + + }, + initMSBRoute:function(){ + vm.initIUIfori18n(); + + $.ajax({ + "type": 'get', + "url": vm.$msbRouteUrl, + "dataType": "json", + success: function (resp) { + vm.msbRouteArray = (resp==null)?[]:resp; + + vm.msbRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); + + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + bootbox.alert("get msb services fails:"+XMLHttpRequest.responseText); + return; + }, + complete:function(){ + + table=$('#msbTable').DataTable({ + + "oLanguage": vm.dataTableLanguage, + columnDefs: [ { + targets: [ 0,8 ], + "searchable": false, + "bSortable": false, + }], + "order": [[2, 'asc']] + }); + + } + }); + + + }, + + clickDisplayGraphAlink: function () { + vm.boxVisible = !vm.boxVisible; + }, + addmsbHost:function(){ + if(vm.msbRouteInfo.newHost==""){ + vm.server_rtn.warning_block=true; + vm.server_rtn.info_block=false; + vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_empty"); + return; + } + + if(vm.msbRouteInfo.newttl==""){ + vm.server_rtn.warning_block=true; + vm.server_rtn.info_block=false; + vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_ttl_empty"); + return; + } + + var reg=/^(([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.)(([0-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5])))\.){2}([1-9]|([1-9]\d)|(1\d\d)|(2([0-4]\d|5[0-5]))):(\d{1,5})$/ + var ip,port; + if(!reg.test(vm.msbRouteInfo.newHost)){ + vm.server_rtn.warning_block=true; + vm.server_rtn.info_block=false; + vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_host_format"); + return; + } + else{ + + var hosts=vm.msbRouteInfo.newHost.split(":"); + ip=hosts[0]; + port=hosts[1]; + } + + var reg_ttl=/^\d+$/ + + if(!reg_ttl.test(vm.msbRouteInfo.newttl)){ + vm.server_rtn.warning_block=true; + vm.server_rtn.info_block=false; + vm.server_rtn.rtn_info= $.i18n.prop("org_openo_msb_route_err_ttl_format"); + return; + } + + + + // determine whether host repeated + for(var i=0;ib.serviceName?1:-1}); + + routeUtil.refreshRoute(); + $('#iuirouteDlg').modal('hide'); + routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_iui'),$.i18n.prop('org_openo_msb_route_service_save'),"success"); + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + + vm.server_rtn.warning_block=true; + vm.server_rtn.info_block=false; + vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown; + + } + }); + } + else{ //update + + var url= vm.$iuiRouteInstanceUrl; + url=url.replace("{serviceName}",vm.iuiRouteInfo.oldServiceName); + + //Determine whether to repeat + if(vm.iuiRouteInfo.serviceName!=vm.iuiRouteInfo.oldServiceName) //Has been modified service name + { + for(var i=0;ib.serviceName?1:-1}); + + routeUtil.refreshRoute(); + $('#routeDlg').modal('hide'); + routeUtil.growl($.i18n.prop('org_openo_msb_route_tab_api'),$.i18n.prop('org_openo_msb_route_service_save'),"success"); + }, + error: function(XMLHttpRequest, textStatus, errorThrown) { + + vm.server_rtn.warning_block=true; + vm.server_rtn.info_block=false; + vm.server_rtn.rtn_info= $.i18n.prop('org_openo_msb_route_err_service_save')+textStatus+":"+errorThrown; + + } + }); + } + else{ //update + + + //Determine whether to repeat + if(vm.apiRouteInfo.serviceName!=vm.apiRouteInfo.oldServiceName || + vm.apiRouteInfo.version!=vm.apiRouteInfo.oldVersion) //Has been modified service name + { + for(var i=0;i  Loadding...", + "sLengthMenu": $.i18n.prop("org_openo_msb_route-table-sLengthMenu"), + "sZeroRecords": $.i18n.prop("org_openo_msb_route-table-sZeroRecords"), + "sInfo": " " + $.i18n.prop("org_openo_msb_route-table-sInfo"), + "sInfoEmpty": $.i18n.prop("org_openo_msb_route-table-sInfoEmpty"), + "sGroupActions": $.i18n.prop("org_openo_msb_route-table-sGroupActions"), + "sAjaxRequestGeneralError": $.i18n.prop("org_openo_msb_route-table-sAjaxRequestGeneralError"), + "sEmptyTable": $.i18n.prop("org_openo_msb_route-table-sEmptyTable"), + "oPaginate": { + "sPrevious": $.i18n.prop("org_openo_msb_route-table-sPrevious"), + "sNext": $.i18n.prop("org_openo_msb_route-table-sNext"), + "sPage": $.i18n.prop("org_openo_msb_route-table-sPage"), + "sPageOf": $.i18n.prop("org_openo_msb_route-table-sPageOf") + }, + "sSearch": $.i18n.prop("org_openo_msb_route-table-search"), + "sInfoFiltered": $.i18n.prop("org_openo_msb_route-table-infofilter") + }; + + } + + + + }); + + -- cgit 1.2.3-korg