diff options
author | CNlucius <lukai1@huawei.com> | 2016-09-13 11:40:12 +0800 |
---|---|---|
committer | CNlucius <lukai1@huawei.com> | 2016-09-13 11:41:53 +0800 |
commit | b731e2f1dd0972409b136aebc7b463dd72c9cfad (patch) | |
tree | 5107d7d80c19ad8076c2c97c2b5ef8d1cf3ab903 /framework/src/onos/web/gui/src/main/webapp/app/fw/util/keys.js | |
parent | ee93993458266114c29271a481ef9ce7ce621b2a (diff) |
ONOSFW-171
O/S-SFC-ONOS scenario documentation
Change-Id: I51ae1cf736ea24ab6680f8edca1b2bf5dd598365
Signed-off-by: CNlucius <lukai1@huawei.com>
Diffstat (limited to 'framework/src/onos/web/gui/src/main/webapp/app/fw/util/keys.js')
-rw-r--r-- | framework/src/onos/web/gui/src/main/webapp/app/fw/util/keys.js | 243 |
1 files changed, 0 insertions, 243 deletions
diff --git a/framework/src/onos/web/gui/src/main/webapp/app/fw/util/keys.js b/framework/src/onos/web/gui/src/main/webapp/app/fw/util/keys.js deleted file mode 100644 index 5ff4f7f4..00000000 --- a/framework/src/onos/web/gui/src/main/webapp/app/fw/util/keys.js +++ /dev/null @@ -1,243 +0,0 @@ -/* - * Copyright 2014,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. - */ - -/* - ONOS GUI -- Util -- Key Handler Service - */ -(function () { - 'use strict'; - - // references to injected services - var $log, fs, ts, ns, qhs; - - // internal state - var enabled = true, - globalEnabled = true, - keyHandler = { - globalKeys: {}, - maskedKeys: {}, - viewKeys: {}, - viewFn: null, - viewGestures: [] - }; - - function whatKey(code) { - switch (code) { - case 13: return 'enter'; - case 16: return 'shift'; - case 17: return 'ctrl'; - case 18: return 'alt'; - case 27: return 'esc'; - case 32: return 'space'; - case 37: return 'leftArrow'; - case 38: return 'upArrow'; - case 39: return 'rightArrow'; - case 40: return 'downArrow'; - case 91: return 'cmdLeft'; - case 93: return 'cmdRight'; - case 187: return 'equals'; - case 188: return 'comma'; - case 189: return 'dash'; - case 190: return 'dot'; - case 191: return 'slash'; - case 192: return 'backQuote'; - case 220: return 'backSlash'; - default: - if ((code >= 48 && code <= 57) || - (code >= 65 && code <= 90)) { - return String.fromCharCode(code); - } else if (code >= 112 && code <= 123) { - return 'F' + (code - 111); - } - return '.'; - } - } - - function keyIn() { - var event = d3.event, - keyCode = event.keyCode, - key = whatKey(keyCode), - kh = keyHandler, - gk = kh.globalKeys[key], - gcb = fs.isF(gk) || (fs.isA(gk) && fs.isF(gk[0])), - vk = kh.viewKeys[key], - kl = fs.isF(kh.viewKeys._keyListener), - vcb = fs.isF(vk) || (fs.isA(vk) && fs.isF(vk[0])) || fs.isF(kh.viewFn), - token = 'keyev'; // indicate this was a key-pressed event - - d3.event.stopPropagation(); - - if (enabled) { - // global callback? - if (gcb && gcb(token, key, keyCode, event)) { - // if the event was 'handled', we are done - return; - } - // otherwise, let the view callback have a shot - if (vcb) { - vcb(token, key, keyCode, event); - } - if (kl) { - kl(key); - } - } - } - - function setupGlobalKeys() { - angular.extend(keyHandler, { - globalKeys: { - backSlash: [quickHelp, 'Show / hide Quick Help'], - slash: [quickHelp, 'Show / hide Quick Help'], - esc: [escapeKey, 'Dismiss dialog or cancel selections'], - T: [toggleTheme, "Toggle theme"] - }, - globalFormat: ['backSlash', 'slash', 'esc', 'T'], - - // Masked keys are global key handlers that always return true. - // That is, the view will never see the event for that key. - maskedKeys: { - slash: true, - backSlash: true, - T: true - } - }); - } - - function quickHelp(view, key, code, ev) { - if (!globalEnabled) { - return false; - } - qhs.showQuickHelp(keyHandler); - return true; - } - - // returns true if we 'consumed' the ESC keypress, false otherwise - function escapeKey(view, key, code, ev) { - return ns.hideIfShown() || qhs.hideQuickHelp(); - } - - function toggleTheme(view, key, code, ev) { - if (!globalEnabled) { - return false; - } - ts.toggleTheme(); - return true; - } - - function setKeyBindings(keyArg) { - var viewKeys, - masked = []; - - if (fs.isF(keyArg)) { - // set general key handler callback - keyHandler.viewFn = keyArg; - } else { - // set specific key filter map - viewKeys = d3.map(keyArg).keys(); - viewKeys.forEach(function (key) { - if (keyHandler.maskedKeys[key]) { - masked.push('setKeyBindings(): Key "' + key + '" is reserved'); - } - }); - - if (masked.length) { - $log.warn(masked.join('\n')); - } - keyHandler.viewKeys = keyArg; - } - } - - function getKeyBindings() { - var gkeys = d3.map(keyHandler.globalKeys).keys(), - masked = d3.map(keyHandler.maskedKeys).keys(), - vkeys = d3.map(keyHandler.viewKeys).keys(), - vfn = !!fs.isF(keyHandler.viewFn); - - return { - globalKeys: gkeys, - maskedKeys: masked, - viewKeys: vkeys, - viewFunction: vfn - }; - } - - function unbindKeys() { - keyHandler.viewKeys = {}; - keyHandler.viewFn = null; - keyHandler.viewGestures = []; - } - - function checkNotGlobal(o) { - var oops = []; - if (fs.isO(o)) { - angular.forEach(o, function (val, key) { - if (keyHandler.globalKeys[key]) { - oops.push(key); - } - }); - if (oops.length) { - $log.warn('Ignoring reserved global key(s):', oops.join(',')); - oops.forEach(function (key) { - delete o[key]; - }); - } - } - } - - angular.module('onosUtil') - .factory('KeyService', - ['$log', 'FnService', 'ThemeService', 'NavService', - - function (_$log_, _fs_, _ts_, _ns_) { - $log = _$log_; - fs = _fs_; - ts = _ts_; - ns = _ns_; - - return { - bindQhs: function (_qhs_) { - qhs = _qhs_; - }, - installOn: function (elem) { - elem.on('keydown', keyIn); - setupGlobalKeys(); - }, - keyBindings: function (x) { - if (x === undefined) { - return getKeyBindings(); - } else { - setKeyBindings(x); - } - }, - unbindKeys: unbindKeys, - gestureNotes: function (g) { - if (g === undefined) { - return keyHandler.viewGestures; - } else { - keyHandler.viewGestures = fs.isA(g) || []; - } - }, - enableKeys: function (b) { - enabled = b; - }, - enableGlobalKeys: function (b) { - globalEnabled = b; - }, - checkNotGlobal: checkNotGlobal - }; - }]); - -}()); |