+++ /dev/null
-
-/*
- *
- * Copyright 2016 RIFT.IO Inc
- *
- * 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.
- *
- */
-require('./launchpad-fleet-card-params.html');
-var React = require('react');
-var LaunchpadCard = require('./launchpadCard.jsx');
-// var LaunchpadCard = require('../../components/dashboard_card/dashboard_card.jsx');
-angular.module('launchpad')
- .directive('fleetCard', function($state, $stateParams) {
- return {
- restrict: 'AE',
- replace: true,
- template: '<div></div>',
- scope: {
- fleet: '=data',
- $index: '=',
- metric: '=?',
- slaParam: '=?',
- nfviMetric: '=?'
- },
-
- bindToController: true,
- controllerAs: 'card',
- link: function(scope, element, attributes) {
-
- },
- controller: function($timeout, $interval, $scope, $rootScope, $element) {
- var self = this;
-
- console.log(self.fleet)
- $scope.$watch(function() {
- return self.fleet}, reactRender)
- function reactRender() {
- console.log('rendering', self.fleet)
- React.render(
- React.createElement(LaunchpadCard, {className:'launchpadCard'}
- ),
- $element[0]
- );
- }
- //FOR WAG ONLY
- // self.isOn = false;
-
- // //END WAG ONLY
- // //Remove for testing only
- // $scope.$watch(function() {
- // return self.fleet;
- // }, function() {});
-
- // // var fleetChannel = $rw.radio.channel('fleetChannel');
- // var FleetStore = require('../launchpadFleetStore.js');
- // self.valueFormat = {
- // "int": 1,
- // "dec": 0
- // };
- // self.federationID = $stateParams.id;
- // //if this is true, set gauges to start
- // if (require('utils/rw.js').getSearchParams(window.location).api_server) {
- // self.fleet.started = true;
- // }
- // self.apiServer = require('utils/rw.js').getSearchParams(window.location).api_server;
- // self.isNoisy = false;
- // var rateChanged = function(rate) {
- // self.rate = rate;
- // fleetChannel.command('fleet:change:rate', rate)
- // }
- // var packetSizeChanged = function(packetSize) {
- // self.packetSize = packetSize
- // fleetChannel.command('fleet:change:packetSize', packetSize)
- // };
- // self.openFleet = function(index) {
- // var params = require('utils/rw.js').getSearchParams(window.location);
- // if (params.api_server) {
- // if (params.api_server == "http://10.0.201.25:5000") {
- // var newLoc = window.location.origin + window.location.pathname + '?config=' + params.config + '&api_server=' + 'http://10.0.201.25:5050' + '#/wag';
- // window.open(newLoc);
- // return;
- // }
- // if (self.fleet.api == "10.0.117.22") self.fleet.api = "10.0.117.17";
- // var newLoc = window.location.origin + window.location.pathname + '?config=' + params.config + '&api_server=' + 'http://' + self.fleet.api + ':5050' + '&name=' + self.fleet.name + '&env_id=' + self.fleet.id + '#/dashboard/' + $stateParams.id + '/' + index;;
- // console.log('Opening new window at: %s', newLoc)
- // window.open(newLoc);
- // } else {
- // if (self.fleet.id == 'wag-fleet') {
- // var newLoc = window.location.origin + window.location.pathname + '?config=' + params.config + '#/wag';
- // window.open(newLoc);
- // }
- // window.open('#/dashboard/' + $stateParams.id + '/' + index);
- // }
- // };
- // self.openConsole = function(index) {
- // console.log(self);
- // var params = require('utils/rw.js').getSearchParams(window.location);
- // if (params.api_server) {
- // if (self.fleet.api == "10.0.117.22") self.fleet.api = "10.0.117.17";
- // var newLoc = self.apiServer + '/api/environments/' + self.fleet.id + '/console';
- // window.open(newLoc);
- // } else {
- // window.open('#/dashboard/' + $stateParams.id + '/' + index);
- // }
- // };
-
-
- // self.noisyToggle = function() {
- // var action;
- // if (self.isNoisy) {
- // action = 'stop';
- // self.isNoisy = false;
- // } else {
- // action = 'start';
- // self.isNoisy = true;
- // }
- // $.ajax({
- // url: "http://" + self.fleet.api + ':5050/api/operations/' + action + '-stream',
- // type: "POST",
- // headers: {
- // "Content-Type": "application/vnd.yang.operation+json"
- // },
- // dataType: "json",
- // data: JSON.stringify({
- // "input": {
- // "now": ""
- // }
- // })
- // });
- // };
-
- // self.toggleStatus = function() {
- // var state;
- // var status = self.fleet.status;
- // console.log(self.fleet)
- // if (status == "starting" || status == "stopping") {
- // return;
- // }
- // if (status == "active") {
- // state = "inactive";
- // } else {
- // state = "active";
- // }
- // self.fleet.status = state;
- // FleetStore.setFleetState(self.fleet.id, state);
- // };
- // //CAT + NOISY NEIGHBOR ONLY
-
- // self.catStarted = false;
- // self.catToggle = function() {
- // var action;
- // if (self.catStarted) {
- // action = 'stop';
- // self.catStarted = false;
- // } else {
- // action = 'start';
- // self.catStarted = true;
- // }
- // $.ajax({
- // url: "http://" + self.fleet.api + ':5050/api/operations/' + action + '-cat',
- // type: "POST",
- // headers: {
- // "Content-Type": "application/vnd.yang.operation+json"
- // },
- // dataType: "json",
- // data: JSON.stringify({
- // "input": {
- // "now": ""
- // }
- // })
- // });
- // };
-
- // self.deleteFleet = function() {
- // if (confirm("Do you really want to delete this fleet?")) {
- // // if (confirm("Seriously, you REALLY want to delete this?")) {
- // // fleetChannel.request('fleet:delete', self.fleet);
- // FleetStore.deleteFleet(self.fleet.id)
- // // }
- // }
- // };
-
-
- // /**
- // * WAG Code Start
- // **/
- // // var wagChannel = $rw.radio.channel('wag');
-
- // //If Wag page Offline
- // if (!self.apiServer && self.fleet.id == 'wag-fleet') {
- // self.offline = setInterval(function() {
- // if (self.fleet.started) {
- // self.fleet.wagpage.clientsim['traffic-gen']['rx-pps'] = 100 * (Math.random() - .5) + 200;
- // self.fleet.wagpage.clientsim['traffic-gen']['tx-pps'] = 100 * (Math.random() - .5) + 200;
- // }
- // }, 2000);
- // }
-
- // // If Wag page Online
- // if (self.fleet.template_name == 'Wireless Access Gateway') {
- // wagChannel.command('wag-poll');
- // wagChannel.on('wag-update', function(data) {
- // $timeout(function() {
- // self.fleet.wagpage = {};
- // self.fleet.wagpage.clientsim = data.clientsim
- // // self.data.clientsim['traffic-sink']['rx-pps'] / 1000000;
- // self.isOn = data.clientsim['traffic-gen-status'].running;
- // });
- // });
- // }
-
- // $rootScope.$on('$stateChangeStart', function() {
- // wagChannel.command('wag-poll:kill');
- // });
-
- // /**
- // * WAG Code End
- // **/
-
-
- }
- };
- })
-
-.directive('launchpadFleetCardParams', function() {
- return {
- restrict: 'AE',
- replace: true,
- templateUrl: '/modules/launchpad/launchpad_card/launchpad-fleet-card-params.html',
- controllerAs: 'params',
- scope: {
- $index: "=",
- cardData: '=',
- slaParam: '=?',
- nfviMetric: '=?'
- },
- bindToController: true,
- controller: function($scope, $stateParams, $timeout, $interval, $rootScope) {
- //remove watch
- $scope.$watch(function() {
- return self.cardData;
- }, function() {})
- var self = this;
- var apiServer = require('utils/rw.js').getSearchParams(window.location).api_server;
- self.apiServer = apiServer;
- // self.refs = refsDB;
-
-
- // var LaunchpadFleetActions = require('../launchpadFleetActions.js');
- // var LaunchpadFleetStore = require('../launchpadFleetStore.js');
- //var LaunchpadFleetActions = require('./launchpadFleetActions.js');
-
- self.rate = 40;
- self.packetSize = 256;
- self.refParam = $rw.refParams;
- var currentNFVIRef;
-
- this.visible = 'default';
- if (self.cardData.id == "wag-fleet") {
- self.cardData.started = self.cardData.wagpage.clientsim['traffic-gen-status'].running;
- }
-
-
- self.selectedNFVI = 0;
- self.selectedSLAParam = {};
- self.refPools = $rw.refPools;
-
- // Event Listeners
- // View Actions
- self.load = function(panel) {
- self.visible = panel;
- };
- self.filterSLA = function(ref) {
- // fleetChannel.command('filter:SLAParams', ref);
- FleetActions.filterSLAParams(ref);
- };
- self.filterNFVI = function(ref) {
- FleetActions.filterNfviMetrics(ref)
- // fleetChannel.command('filter:NFVIMetrics', ref);
- };
- self.serviceToggle = function(fleet, control) {
- if (apiServer) {
- var vnfrChannel = $rw.radio.channel('vnfr');
- switch (control.ref) {
- case "trafgen":
- var action = (control.started) ? 'stop' : 'start';
- vnfrChannel.command("vnf:command", action, control.data.api, "http://" + fleet.api + ':5050');
- break;
- case "iot_army":
- var action = (control.started) ? 'stop' : 'start';
- vnfrChannel.command("vnf:command", action, control.data.api, "http://" + fleet.api + ':5050');
- break;
- }
- } else {
- fleetChannel.command('fleet:start', $stateParams.id, self.$index);
- if ($stateParams.id == 'wag-federation') {
- if (!self.cardData.wagpage.clientsim['traffic-gen-status']) {
- self.cardData.wagpage.clientsim['traffic-gen-status'] = {};
- }
- self.cardData.wagpage.clientsim['traffic-gen-status'].running = !self.cardData.wagpage.clientsim['traffic-gen-status'].running;
- }
- }
-
- };
- // Init Params
-
-
- //WAG ONLY
- if (self.apiServer == "http://10.0.201.25:5000") {
- self.isWag = true;
- }
- self.toggleOn = function(e) {
- // self.setPacket(e, self.packetSize);
- // self.setRate(e, self.rate);
- // self.setSubscribers(e, self.subscribers);
- // self.setAP(e, self.ap);
- var wagServer = ""
- if (self.apiServer) {
- if (self.isOn) {
- $.ajax({
- type: "POST",
- url: "http://10.0.201.25:5050/api/running/stop-device-group/",
- success: (function() {
- console.log('stahp post sent')
- })
- });
- $.ajax({
- type: "POST",
- url: "http://10.0.201.25:5050/api/running/stop-sink-server/",
- success: (function() {
- console.log('stahp post sent')
- })
- });
- } else {
- $.ajax({
- type: "POST",
- url: "http://10.0.201.25:5050/api/running/start-sink-server/",
- success: (function() {
- console.log('start post sent')
- })
- });
- $.ajax({
- type: "POST",
- url: "http://10.0.201.25:5050/api/running/start-device-group/",
- success: (function() {
- console.log('start post sent')
- })
- });
- }
- }
- self.isOn = !self.isOn;
- }
-
- //END WAG ONLY
-
- },
- link: function(s, e, a) {}
- }
-});