/*
* Copyright 2016 ZTE Corporation.
*
* 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 vm = avalon.define({
$id: "tmNodesController",
instanceId: "",
$language: {
"sProcessing": " "
+ $.i18n.prop("nfv-nso-iui-table-sProcess") + "",
"sLengthMenu": $.i18n.prop("nfv-nso-iui-table-sLengthMenu"),
"sZeroRecords": $.i18n.prop("nfv-nso-iui-table-sZeroRecords"),
"sInfo": " " + $.i18n.prop("nfv-nso-iui-table-sInfo"),
"sInfoEmpty": $.i18n.prop("nfv-nso-iui-table-sInfoEmpty"),
"sGroupActions": $.i18n.prop("nfv-nso-iui-table-sGroupActions"),
"sAjaxRequestGeneralError": $.i18n.prop("nfv-nso-iui-table-sAjaxRequestGeneralError"),
"sEmptyTable": $.i18n.prop("nfv-nso-iui-table-sEmptyTable"),
"oPaginate": {
"sPrevious": $.i18n.prop("nfv-nso-iui-table-sPrevious"),
"sNext": $.i18n.prop("nfv-nso-iui-table-sNext"),
"sPage": $.i18n.prop("nfv-nso-iui-table-sPage"),
"sPageOf": $.i18n.prop("nfv-nso-iui-table-sPageOf")
}
},
$restUrl: {
queryNodeInstanceUrl: "/openoapi/nslcm/v1.0/ns/"
},
$init: function () {
vm.$initInstanceData();
},
$initInstanceData: function () {
$.ajax({
type: "GET",
url: vm.$restUrl.queryNodeInstanceUrl,
success: function (resp) {
if (resp) {
vm.servicesInstanceData = [
resp.nsName,
resp.description,
resp.nsdId,
resp.nsState
];
var tableData = [
[resp.vnfInfoId, 'vnf'],
[resp.vlInfo.vldId, 'vl'],
[resp.vnffgInfo.vnffgInstanceId, 'vnffg']
];
vm.$initNfvNodesTab();
vm.nodesList.nodesData = tableData;
vm.nodesList.$initNodesTable();
}
},
error: function () {
commonUtil.showMessage($.i18n.prop("nfv-topology-iui-message-error"), "danger");
}
});
},
servicesInstanceData: [],
$nodesTabId: "ict_nodes_template_table",
$nodesInstanceTabFields: {// table columns
table: [
{"mData": "serviceInstanceId", name: "ID", "bVisible": false},
{"mData": "", name: "", "sClass": 'details-control'},
{"mData": "serviceName", name: "Service Name"},
{"mData": "serviceDescription", name: "Service Description"},
{"mData": "nsdId", name: "NSD ID"},
{"mData": "status", name: "Status"}
]
},
$initNfvNodesTab: function () {
var setting = {};
setting.language = vm.$language;
setting.paginate = true;
setting.info = true;
setting.columns = vm.$nodesInstanceTabFields.table;
setting.tableId = vm.$nodesTabId;
vm.$initDataTable(setting, vm.$nodesTabId + '_div', vm.servicesInstanceData);
$('#' + vm.$nodesTabId + '>tbody').on("click", 'td.details-control', function () {
var tr = $(this).closest('tr');
var table = $('#' + vm.$nodesTabId).dataTable();
if (table.fnIsOpen(tr[0])) {
table.fnClose(tr[0]);
tr.removeClass('shown');
}
else {
table.fnOpen(tr[0], vm.nodesList.$format_Detail(), 'details');
tr.addClass('shown');
}
});
},
$initDataTable: function (setting, divId, tableData) {
//transform colomn
var column = setting.columns;
//empty table
$('#' + divId).children().remove();
var tableId = setting.tableId;
var tableEleStr = '