diff options
Diffstat (limited to 'framework/src/onos/apps/pathpainter/src/main/resources/app/view/ppTopov/ppTopov.js')
-rw-r--r-- | framework/src/onos/apps/pathpainter/src/main/resources/app/view/ppTopov/ppTopov.js | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/framework/src/onos/apps/pathpainter/src/main/resources/app/view/ppTopov/ppTopov.js b/framework/src/onos/apps/pathpainter/src/main/resources/app/view/ppTopov/ppTopov.js new file mode 100644 index 00000000..baaaef98 --- /dev/null +++ b/framework/src/onos/apps/pathpainter/src/main/resources/app/view/ppTopov/ppTopov.js @@ -0,0 +1,119 @@ +/* + * Copyright 2015 Open Networking Laboratory + * + * 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. + */ + +/* + Sample Demo module. This contains the "business logic" for the topology + overlay that we are implementing. + */ + +(function () { + 'use strict'; + + // injected refs + var $log, fs, flash, wss; + + // constants + var srcMessage = 'ppTopovSetSrc', + dstMessage = 'ppTopovSetDst', + swapMessage = 'ppTopovSwapSrcDst', + modeMessage = 'ppTopovSetMode', + nextPathMessage = 'ppTopovNextPath', + clearMessage = 'ppTopovClear', + prevPathMessage = 'ppTopovPrevPath'; + + // internal state + var currentMode = null; + + + // === --------------------------- + // === Helper functions + + + // === --------------------------- + // === Main API functions + + function clear() { + wss.sendEvent(clearMessage); + flash.flash('Source node: ' + node.id); + } + + function setSrc(node) { + wss.sendEvent(srcMessage, { + id: node.id, + type: node.type + }); + flash.flash('Source node: ' + node.id); + } + + function setDst(node) { + wss.sendEvent(dstMessage, { + id: node.id, + type: node.type + }); + flash.flash('Destination node: ' + node.id); + } + + function swapSrcDst() { + wss.sendEvent(swapMessage) + flash.flash('Source and destination swap'); + } + + function nextPath() { + wss.sendEvent(nextPathMessage); + } + + function prevPath() { + wss.sendEvent(prevPathMessage); + } + + + function setMode(mode) { + if (currentMode === mode) { + $log.debug('(in mode', mode, 'already)'); + flash.flash('Already in ' + mode + ' mode'); + } else { + currentMode = mode; + wss.sendEvent(modeMessage, { + mode: mode + }); + flash.flash('Path mode: ' + mode); + } + } + + // === --------------------------- + // === Module Factory Definition + + angular.module('ovPpTopov', []) + .factory('PathPainterTopovService', + ['$log', 'FnService', 'FlashService', 'WebSocketService', + + function (_$log_, _fs_, _flash_, _wss_) { + $log = _$log_; + fs = _fs_; + flash = _flash_; + wss = _wss_; + + return { + setSrc: setSrc, + setDst: setDst, + setMode: setMode, + nextPath: nextPath, + prevPath: prevPath, + swapSrcDst: swapSrcDst, + clear: clear + }; + }]); +}()); |