855e4bff8e9aa9af99ff24b6f98626e5a5a2a636
[msb/discovery.git] / discovery-ui / src / main / resources / iui / microservices / js / routeController.js
1 /*\r
2  * Copyright 2016 ZTE, Inc. and others.\r
3  *\r
4  * Licensed under the Apache License, Version 2.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *     http://www.apache.org/licenses/LICENSE-2.0\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 var table;\r
18 var vm = avalon\r
19                 .define({\r
20                         $id : "routeController",                \r
21                         namespace:"",\r
22                         loading:true,\r
23                         searchTypeIndex:0,\r
24                         selectSearch:{\r
25                                 name:$.i18n.prop("org_onap_msb_discover_searchtype_all"),\r
26                                 index:1,\r
27                                 context:""                              \r
28                         },\r
29                         setSearchType:function(name,index){\r
30                                 vm.selectSearch.name=name;\r
31                                 vm.selectSearch.index=index;\r
32                         },\r
33                         searchTypeName:[],                      \r
34                         dataTableLanguage: {},                  \r
35                         $msbRouteUrl:apiBasePath+'/services',   \r
36                         $msbListByNamespaceUrl:apiBasePath+'/servicelist',\r
37                         $msbRouteInstanceUrl :apiBasePath+'/services/{serviceName}/version/{version}',  \r
38                         msbRouteArray :  [],                                                                                                    \r
39                         initMSBRoute:function(){\r
40                                 vm.loading=true; \r
41                                 vm.initIUIfori18n();\r
42                                 var url= window.location.search.substr(1);\r
43                                 var namespace=routeUtil.getQueryString(url,"namespace");\r
44                                 \r
45                                 vm.namespace=namespace==""?"default":namespace;\r
46 \r
47 \r
48 \r
49                                 $.ajax({\r
50                         "type": 'get',\r
51                         "url":  vm.$msbRouteUrl,//+"?namespace="+vm.namespace,\r
52                         "dataType": "json",\r
53                         success: function (resp) {  \r
54                               vm.msbRouteArray = (resp==null)?[]:resp;  \r
55                         \r
56                              vm.msbRouteArray.sort(function(a,b){return a.serviceName>b.serviceName?1:-1}); \r
57                                                 \r
58                         },\r
59                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
60                                                    bootbox.alert("get serviceListInfo  in namespace ["+vm.namespace+"] fails:"+XMLHttpRequest.responseText);                       \r
61                                return;\r
62                          },\r
63                          complete:function(){\r
64 \r
65                                 table=$('#msbTable').DataTable({\r
66                                                      \r
67                                                           "oLanguage": vm.dataTableLanguage,\r
68                                                            "dom": '<"top">rt<"bottom"lip><"clear">',\r
69                                                                 "sPaginationType": "bootstrap_extended",\r
70                                                                  "columnDefs": [ {\r
71                                                                       "targets": [0,7],\r
72                                                                       "searchable": false,\r
73                                                                       "bSortable": false,\r
74                                                                     }],\r
75                                                                    "order": [[0, 'asc']]\r
76                                                         });\r
77                                         vm.loading=false;\r
78                                 \r
79                                 }\r
80                                 });\r
81 \r
82 \r
83 \r
84                                 \r
85                \r
86                    \r
87                         },\r
88                         \r
89                         searchService:function(){\r
90 \r
91                                 /*if(vm.selectSearch.context=="") return;\r
92 \r
93                                 if(vm.selectSearch.index==0){\r
94                                          $('#msbTable').DataTable().search(\r
95                                 vm.selectSearch.context,true,true\r
96                                 ).draw();\r
97 \r
98                                 }\r
99                                 else{\r
100                                         \r
101                                 }*/\r
102 \r
103                                  $('#msbTable').DataTable().column(vm.selectSearch.index).search(\r
104                                 vm.selectSearch.context,true,true\r
105                                 ).draw();\r
106                         },\r
107                         viewmsbRoute:function(serviceName,version,namespace){\r
108 \r
109                                                 //window.location.href=\r
110                                                 window.open("serviceMng.html?type=view&serviceName="+serviceName+"&version="+version+"&namespace="+namespace);\r
111 \r
112                         },\r
113                         updatemsbRoute:function(serviceName,version,namespace){\r
114 \r
115                                                 window.location.href="serviceMng.html?type=update&serviceName="+serviceName+"&version="+version+"&namespace="+namespace;\r
116 \r
117                         },\r
118                         delmsbRoute:function(serviceName,version,namespace,obj){\r
119 \r
120         \r
121                                 bootbox.confirm($.i18n.prop('org_onap_msb_discover_err_service_del_ask',[serviceName],[version]),function(result){\r
122                                 if(result){\r
123                                         var url= vm.$msbRouteInstanceUrl;\r
124                                     var version2=version==""?"null":version;\r
125                                   \r
126                         url=url.replace("{serviceName}",serviceName).replace("{version}",version2)+"?namespace="+namespace;\r
127         \r
128                                          $.ajax({\r
129                         "type": 'DELETE',\r
130                         "url": url,\r
131                         "dataType": "json",\r
132                         success: function (resp) { \r
133                        \r
134                                                         var msbServiceArray=vm.msbRouteArray;   \r
135                        \r
136                                  $(obj).parent().parent().parent().addClass('selected');\r
137                                 \r
138                                 for(var i=0;i<msbServiceArray.length;i++){\r
139                                                if(msbServiceArray[i].serviceName == serviceName &&\r
140                                                         msbServiceArray[i].version==version ){\r
141                                                     msbServiceArray.splice(i, 1);\r
142                                                     break;\r
143                                                 }\r
144                                                                 }\r
145 \r
146                                                          table.row('.selected').remove().draw( false );\r
147 \r
148                                          routeUtil.growl("",$.i18n.prop('org_onap_msb_discover_service_del_success',"success"));\r
149                                         \r
150                 \r
151                         },\r
152                          error: function(XMLHttpRequest, textStatus, errorThrown) {\r
153                                                 \r
154                                                 bootbox.alert($.i18n.prop('org_onap_msb_discover_service_del_fail')+XMLHttpRequest.responseText);                \r
155                               \r
156                          }\r
157                          \r
158                              \r
159                     });\r
160 \r
161 \r
162                                }\r
163         \r
164                                 });\r
165                                 \r
166                         },\r
167                         initIUIfori18n:function(){\r
168                                 vm.selectSearch.name=$.i18n.prop("org_onap_msb_discover_searchtype_servicename");       \r
169                                 vm.searchTypeName=[\r
170                           \r
171                            {\r
172                                 name:$.i18n.prop("org_onap_msb_discover_searchtype_servicename"),\r
173                                 index:1\r
174                            }\r
175                           \r
176                          ];\r
177                                 vm.dataTableLanguage={\r
178                 "sProcessing": "<img src='../img/loading-spinner-grey.gif'/><span>&nbsp;&nbsp;Loadding...</span>",   \r
179                 "sLengthMenu": $.i18n.prop("org_onap_msb_route-table-sLengthMenu"),\r
180                 "sZeroRecords": $.i18n.prop("org_onap_msb_route-table-sZeroRecords"),\r
181                 "sInfo": "<span class='seperator'>  </span>" + $.i18n.prop("org_onap_msb_route-table-sInfo"),\r
182                 "sInfoEmpty": $.i18n.prop("org_onap_msb_route-table-sInfoEmpty"),\r
183                 "sGroupActions": $.i18n.prop("org_onap_msb_route-table-sGroupActions"),\r
184                 "sAjaxRequestGeneralError": $.i18n.prop("org_onap_msb_route-table-sAjaxRequestGeneralError"),\r
185                 "sEmptyTable": $.i18n.prop("org_onap_msb_route-table-sEmptyTable"),\r
186                 "oPaginate": {\r
187                     "sPrevious": $.i18n.prop("org_onap_msb_route-table-sPrevious"),\r
188                     "sNext": $.i18n.prop("org_onap_msb_route-table-sNext"),\r
189                     "sPage": $.i18n.prop("org_onap_msb_route-table-sPage"),\r
190                     "sPageOf": $.i18n.prop("org_onap_msb_route-table-sPageOf")\r
191                 },\r
192                 "sSearch": $.i18n.prop("org_onap_msb_route-table-search"),\r
193                 "sInfoFiltered": $.i18n.prop("org_onap_msb_route-table-infofilter") \r
194             };  \r
195 \r
196                         }\r
197                         \r
198                 \r
199                 \r
200                         \r
201                 \r
202 \r
203         });\r
204 \r
205 \r