4 * Copyright 2016 RIFT.IO Inc
6 * Licensed under the Apache License, Version 2.0 (the "License");
7 * you may not use this file except in compliance with the License.
8 * You may obtain a copy of the License at
10 * http://www.apache.org/licenses/LICENSE-2.0
12 * Unless required by applicable law or agreed to in writing, software
13 * distributed under the License is distributed on an "AS IS" BASIS,
14 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 * See the License for the specific language governing permissions and
16 * limitations under the License.
19 require('../components/form-controls.js');
20 require('./launchpad-launch-fleet.html');
21 var createStore
= require('./createStore.js');
22 var createActions
= require('./createActions.js');
25 angular
.module('launchpad')
26 .controller('launchpadCreateCtrl', function($timeout
, $stateParams
, $state
) {
29 // var createChannel = $rw.radio.channel('createFleet');
30 var apiServer
= self
.isOnline
= require('utils/rw.js').getSearchParams(window
.location
).api_server
;
31 // var federationChannel = $rw.radio.channel('federationChannel');
41 self
.federation
= $stateParams
.id
;
42 createStore
.getNetworkServices();
43 createStore
.getSlaParams();
44 createStore
.getPools();
45 createStore
.listen(function(state
) {
47 self
.networkServices
= state
.networkServices
;
48 self
.slaParams
= state
.slaParams
;
49 self
.fleet
.pool
= state
.pools
[0];
50 self
.pools
= state
.pools
;
51 angular
.forEach(self
.slaParams
, function(v
) {
52 if (!v
.hasOwnProperty('value')) {
53 v
.value
= v
.options
.second
;
59 // federationChannel.request("federation:services").then(function(data) {
60 // $timeout(function() {
61 // // self.fleet.service = 'cag';
62 // self.networkServices = data;
63 // createChannel.request('vnfParams', 'cag').then(function(data) {
64 // $timeout(function() {
65 // self.vnfParams = data;
70 // federationChannel.request('federation:pools', apiServer).then(function(data) {
71 // $timeout(function() {
72 // console.log('pools:', data)
73 // self.fleet.pool = data[0];
78 // federationChannel.request('federation:sla-params').then(function(data) {
79 // $timeout(function() {
80 // self.slaParams = data;
81 // angular.forEach(self.slaParams, function(v) {
82 // if (!v.hasOwnProperty('value')) {
83 // v.value = v.options.second;
91 // federationChannel.on("launchpadCreate", function() {
92 // $state.go('launchpad', null, {reload: false});
96 self
.generateServiceImage = function(service
) {
97 return ('assets/img/svg/' + service
.src
+ (self
.isSelectedService(service
.id
) ? '-active' : '-inactive') + '.svg');
99 self
.generatePoolImage = function(pool
) {
100 return ('assets/img/svg/' + self
.refsDB
.resources
.openstackCloud
.pools
[pool
.ref
].src
+ (self
.isSelectedPool(pool
) ? '-active' : '-inactive') + '.svg');
102 self
.isSelectedPool = function(id
) {
103 return id
== self
.fleet
.pool_id
;
105 self
.isSelectedService = function(id
) {
106 return id
== self
.fleet
.template_id
;
108 self
.launch = function(launch
) {
109 if (self
.fleet
.name
== "") {
110 createActions
.validateError('Plase Name the Service')
112 createActions
.validateReset();
113 self
.slaParams
.forEach(function(v
) {
114 if (v
.value
.indexOf("RRC") > -1) {
117 self
.fleet
.epa_attributes
[v
.ref
] = v
.value
;
119 delete self
.fleet
.pool
;
120 self
.fleet
.status
= launch
? 'active' : 'inactive';
121 createStore
.createEnvironment(self
.fleet
)
123 self
.selectPool = function(id
) {
124 self
.fleet
.pool_id
= id
;
125 // createChannel.command("pool:select", id);
127 self
.selectService = function(id
) {
129 self
.fleet
.template_id
= id
;
130 // createChannel.command("service:select", id);