| /* |
| * Copyright 2017-present 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. |
| */ |
| |
| /* |
| ONOS GUI -- Topology Protected Intents Module. |
| Defines behavior for viewing protected intents . |
| */ |
| |
| (function () { |
| 'use strict'; |
| |
| // injected refs |
| var $log, fs, flash, wss, api; |
| |
| // internal state |
| var showingProtectedIntent = null; |
| |
| // === ------------------------------------------------------------- |
| // protected intent requests invoked from keystrokes or toolbar buttons... |
| |
| function cancelHighlights() { |
| if (!showingProtectedIntent) { |
| return false; |
| } |
| |
| showingProtectedIntent = false; |
| wss.sendEvent('cancelProtectedIntentHighlight'); |
| flash.flash('Monitoring canceled'); |
| return true; |
| } |
| |
| // force the system to create a single intent selection |
| function showProtectedIntent(data) { |
| wss.sendEvent('selectProtectedIntent', data); |
| flash.flash('Selecting Intent ' + data.key); |
| showingProtectedIntent = true; |
| } |
| |
| // === ----------------------------------------------------- |
| // === MODULE DEFINITION === |
| |
| angular.module('ovTopo') |
| .factory('TopoProtectedIntentsService', |
| ['$log', 'FnService', 'FlashService', 'WebSocketService', |
| |
| function (_$log_, _fs_, _flash_, _wss_) { |
| $log = _$log_; |
| fs = _fs_; |
| flash = _flash_; |
| wss = _wss_; |
| |
| return { |
| initProtectedIntents: function (_api_) { api = _api_; }, |
| destroyProtectedIntents: function () { }, |
| |
| // invoked from toolbar overlay buttons or keystrokes |
| cancelHighlights: cancelHighlights, |
| showProtectedIntent: showProtectedIntent |
| }; |
| }]); |
| }()); |