migrate discovery source codes from OPEN-O
[msb/discovery.git] / discovery-ui / src / main / resources / iui / microservices / js / routeController.js
diff --git a/discovery-ui/src/main/resources/iui/microservices/js/routeController.js b/discovery-ui/src/main/resources/iui/microservices/js/routeController.js
new file mode 100644 (file)
index 0000000..855e4bf
--- /dev/null
@@ -0,0 +1,205 @@
+/*\r
+ * Copyright 2016 ZTE, Inc. and others.\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *     http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
+\r
+var table;\r
+var vm = avalon\r
+               .define({\r
+                       $id : "routeController",                \r
+                       namespace:"",\r
+                       loading:true,\r
+                       searchTypeIndex:0,\r
+                       selectSearch:{\r
+                               name:$.i18n.prop("org_onap_msb_discover_searchtype_all"),\r
+                               index:1,\r
+                               context:""                              \r
+                       },\r
+                       setSearchType:function(name,index){\r
+                               vm.selectSearch.name=name;\r
+                               vm.selectSearch.index=index;\r
+                       },\r
+                       searchTypeName:[],                      \r
+                       dataTableLanguage: {},                  \r
+                       $msbRouteUrl:apiBasePath+'/services',   \r
+                       $msbListByNamespaceUrl:apiBasePath+'/servicelist',\r
+                       $msbRouteInstanceUrl :apiBasePath+'/services/{serviceName}/version/{version}',  \r
+                       msbRouteArray :  [],                                                                                                    \r
+                       initMSBRoute:function(){\r
+                               vm.loading=true; \r
+                               vm.initIUIfori18n();\r
+                               var url= window.location.search.substr(1);\r
+                               var namespace=routeUtil.getQueryString(url,"namespace");\r
+                               \r
+                               vm.namespace=namespace==""?"default":namespace;\r
+\r
+\r
+\r
+                               $.ajax({\r
+                       "type": 'get',\r
+                       "url":  vm.$msbRouteUrl,//+"?namespace="+vm.namespace,\r
+                       "dataType": "json",\r
+                       success: function (resp) {  \r
+                             vm.msbRouteArray = (resp==null)?[]:resp;  \r
+                       \r
+                            vm.msbRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); \r
+                                               \r
+                       },\r
+                        error: function(XMLHttpRequest, textStatus, errorThrown) {\r
+                                                  bootbox.alert("get serviceListInfo  in namespace ["+vm.namespace+"] fails:"+XMLHttpRequest.responseText);                       \r
+                              return;\r
+                        },\r
+                        complete:function(){\r
+\r
+                               table=$('#msbTable').DataTable({\r
+                                                    \r
+                                                         "oLanguage": vm.dataTableLanguage,\r
+                                                          "dom": '<"top">rt<"bottom"lip><"clear">',\r
+                                                               "sPaginationType": "bootstrap_extended",\r
+                                                                "columnDefs": [ {\r
+                                                                     "targets": [0,7],\r
+                                                                     "searchable": false,\r
+                                                                     "bSortable": false,\r
+                                                                   }],\r
+                                                                  "order": [[0, 'asc']]\r
+                                                       });\r
+                                       vm.loading=false;\r
+                               \r
+                               }\r
+                               });\r
+\r
+\r
+\r
+                               \r
+              \r
+                  \r
+                       },\r
+                       \r
+                       searchService:function(){\r
+\r
+                               /*if(vm.selectSearch.context=="") return;\r
+\r
+                               if(vm.selectSearch.index==0){\r
+                                        $('#msbTable').DataTable().search(\r
+                               vm.selectSearch.context,true,true\r
+                               ).draw();\r
+\r
+                               }\r
+                               else{\r
+                                       \r
+                               }*/\r
+\r
+                                $('#msbTable').DataTable().column(vm.selectSearch.index).search(\r
+                               vm.selectSearch.context,true,true\r
+                               ).draw();\r
+                       },\r
+                       viewmsbRoute:function(serviceName,version,namespace){\r
+\r
+                                               //window.location.href=\r
+                                               window.open("serviceMng.html?type=view&serviceName="+serviceName+"&version="+version+"&namespace="+namespace);\r
+\r
+                       },\r
+                       updatemsbRoute:function(serviceName,version,namespace){\r
+\r
+                                               window.location.href="serviceMng.html?type=update&serviceName="+serviceName+"&version="+version+"&namespace="+namespace;\r
+\r
+                       },\r
+                       delmsbRoute:function(serviceName,version,namespace,obj){\r
+\r
+       \r
+                               bootbox.confirm($.i18n.prop('org_onap_msb_discover_err_service_del_ask',[serviceName],[version]),function(result){\r
+                               if(result){\r
+                                       var url= vm.$msbRouteInstanceUrl;\r
+                                   var version2=version==""?"null":version;\r
+                                 \r
+                        url=url.replace("{serviceName}",serviceName).replace("{version}",version2)+"?namespace="+namespace;\r
+       \r
+                                        $.ajax({\r
+                       "type": 'DELETE',\r
+                       "url": url,\r
+                       "dataType": "json",\r
+                       success: function (resp) { \r
+                      \r
+                                                       var msbServiceArray=vm.msbRouteArray;   \r
+                      \r
+                                $(obj).parent().parent().parent().addClass('selected');\r
+                               \r
+                               for(var i=0;i<msbServiceArray.length;i++){\r
+                                              if(msbServiceArray[i].serviceName == serviceName &&\r
+                                                       msbServiceArray[i].version==version ){\r
+                                                   msbServiceArray.splice(i, 1);\r
+                                                   break;\r
+                                               }\r
+                                                               }\r
+\r
+                                                        table.row('.selected').remove().draw( false );\r
+\r
+                                        routeUtil.growl("",$.i18n.prop('org_onap_msb_discover_service_del_success',"success"));\r
+                                       \r
+               \r
+                       },\r
+                        error: function(XMLHttpRequest, textStatus, errorThrown) {\r
+                                               \r
+                                               bootbox.alert($.i18n.prop('org_onap_msb_discover_service_del_fail')+XMLHttpRequest.responseText);                \r
+                             \r
+                        }\r
+                        \r
+                            \r
+                   });\r
+\r
+\r
+                              }\r
+       \r
+                               });\r
+                               \r
+                       },\r
+                       initIUIfori18n:function(){\r
+                               vm.selectSearch.name=$.i18n.prop("org_onap_msb_discover_searchtype_servicename");       \r
+                               vm.searchTypeName=[\r
+                         \r
+                          {\r
+                               name:$.i18n.prop("org_onap_msb_discover_searchtype_servicename"),\r
+                               index:1\r
+                          }\r
+                         \r
+                        ];\r
+                               vm.dataTableLanguage={\r
+                "sProcessing": "<img src='../img/loading-spinner-grey.gif'/><span>&nbsp;&nbsp;Loadding...</span>",   \r
+                "sLengthMenu": $.i18n.prop("org_onap_msb_route-table-sLengthMenu"),\r
+                "sZeroRecords": $.i18n.prop("org_onap_msb_route-table-sZeroRecords"),\r
+                "sInfo": "<span class='seperator'>  </span>" + $.i18n.prop("org_onap_msb_route-table-sInfo"),\r
+                "sInfoEmpty": $.i18n.prop("org_onap_msb_route-table-sInfoEmpty"),\r
+                "sGroupActions": $.i18n.prop("org_onap_msb_route-table-sGroupActions"),\r
+                "sAjaxRequestGeneralError": $.i18n.prop("org_onap_msb_route-table-sAjaxRequestGeneralError"),\r
+                "sEmptyTable": $.i18n.prop("org_onap_msb_route-table-sEmptyTable"),\r
+                "oPaginate": {\r
+                    "sPrevious": $.i18n.prop("org_onap_msb_route-table-sPrevious"),\r
+                    "sNext": $.i18n.prop("org_onap_msb_route-table-sNext"),\r
+                    "sPage": $.i18n.prop("org_onap_msb_route-table-sPage"),\r
+                    "sPageOf": $.i18n.prop("org_onap_msb_route-table-sPageOf")\r
+                },\r
+                "sSearch": $.i18n.prop("org_onap_msb_route-table-search"),\r
+                "sInfoFiltered": $.i18n.prop("org_onap_msb_route-table-infofilter") \r
+            }; \r
+\r
+                       }\r
+                       \r
+               \r
+               \r
+                       \r
+               \r
+\r
+       });\r
+\r
+\r