mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
76 lines
2.7 KiB
JavaScript
76 lines
2.7 KiB
JavaScript
// Licensed to the Apache Software Foundation (ASF) under one
|
|
// or more contributor license agreements. See the NOTICE file
|
|
// distributed with this work for additional information
|
|
// regarding copyright ownership. The ASF licenses this file
|
|
// to you 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.
|
|
(function($, cloudStack) {
|
|
cloudStack.modules.infrastructure = function(module) {
|
|
module.pluginAPI.extend({
|
|
networkServiceProvider: function(args) {
|
|
var name = args.name;
|
|
var id = args.id;
|
|
var state = args.state;
|
|
var detailView = args.detailView;
|
|
var listView = args.listView;
|
|
|
|
cloudStack.sections.system.naas.networkProviders.types[id] = detailView;
|
|
cloudStack.sections.system.subsections[listView.id] = {
|
|
id: listView.id,
|
|
title: name,
|
|
listView: listView
|
|
};
|
|
|
|
$(window).bind('cloudStack.system.serviceProviders.makeHarcodedArray', function(event, data) {
|
|
var nspHardcodingArray = data.nspHardcodingArray;
|
|
var selectedZoneObj = data.selectedZoneObj;
|
|
var selectedPhysicalNetworkObj = data.selectedPhysicalNetworkObj;
|
|
if(selectedZoneObj.networktype == "Advanced"){
|
|
var selectedProviderObj = null;
|
|
$.ajax({
|
|
url: createURL('listNetworkServiceProviders'),
|
|
data: {
|
|
name: id, //e.g. 'CiscoVnmc'
|
|
physicalnetworkid: selectedPhysicalNetworkObj.id
|
|
},
|
|
async: false,
|
|
success: function(json){
|
|
var items = json.listnetworkserviceprovidersresponse.networkserviceprovider;
|
|
if(items != null && items.length > 0) {
|
|
selectedProviderObj = items[0];
|
|
}
|
|
}
|
|
});
|
|
|
|
nspHardcodingArray.push({
|
|
id: id,
|
|
name: name,
|
|
state: selectedProviderObj? selectedProviderObj.state : 'Absent'
|
|
});
|
|
}
|
|
});
|
|
},
|
|
|
|
resource: function(args) {
|
|
var type = args.type;
|
|
|
|
if (type) {
|
|
return cloudStack.sections.system.subsections[type];
|
|
} else {
|
|
return false;
|
|
}
|
|
}
|
|
});
|
|
};
|
|
}(jQuery, cloudStack));
|