diff options
Diffstat (limited to 'framework/src/onos/web/gui/src/main/webapp/app/fw/util/prefs.js')
-rw-r--r-- | framework/src/onos/web/gui/src/main/webapp/app/fw/util/prefs.js | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/framework/src/onos/web/gui/src/main/webapp/app/fw/util/prefs.js b/framework/src/onos/web/gui/src/main/webapp/app/fw/util/prefs.js deleted file mode 100644 index 02a23909..00000000 --- a/framework/src/onos/web/gui/src/main/webapp/app/fw/util/prefs.js +++ /dev/null @@ -1,128 +0,0 @@ -/* - * 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. - */ - -/* - ONOS GUI -- Util -- User Preference Service - */ -(function () { - 'use strict'; - - // injected refs - var $log, $cookies, fs; - - // internal state - var cache = {}; - - // NOTE: in Angular 1.3.5, $cookies is just a simple object, and - // cookie values are just strings. From the 1.3.5 docs: - // - // "Only a simple Object is exposed and by adding or removing - // properties to/from this object, new cookies are created/deleted - // at the end of current $eval. The object's properties can only - // be strings." - // - // We may want to upgrade the version of Angular sometime soon - // since later version support objects as cookie values. - - // NOTE: prefs represented as simple name/value pairs - // => a temporary restriction while we are encoding into cookies - /* - { - foo: 1, - bar: 0, - goo: 2 - } - - stored as "foo:1,bar:0,goo:2" - */ - - // reads cookie with given name and returns an object rep of its value - // or null if no such cookie is set - function getPrefs(name) { - var cook = $cookies[name], - bits, - obj = {}; - - if (cook) { - bits = cook.split(','); - bits.forEach(function (value) { - var x = value.split(':'); - obj[x[0]] = x[1]; - }); - - // update the cache - cache[name] = obj; - return obj; - } - // perhaps we have a cached copy.. - return cache[name]; - } - - // converts string values to numbers for selected (or all) keys - function asNumbers(obj, keys) { - if (!obj) return null; - - if (!keys) { - // do them all - angular.forEach(obj, function (v, k) { - obj[k] = Number(obj[k]); - }); - } else { - keys.forEach(function (k) { - obj[k] = Number(obj[k]); - }); - } - return obj; - } - - function setPrefs(name, obj) { - var bits = [], - str; - - angular.forEach(obj, function (value, key) { - bits.push(key + ':' + value); - }); - str = bits.join(','); - - // keep a cached copy of the object - cache[name] = obj; - - // The angular way of doing this... - // $cookies[name] = str; - // ...but it appears that this gets delayed, and doesn't 'stick' ?? - - // FORCE cookie to be set by writing directly to document.cookie... - document.cookie = name + '=' + encodeURIComponent(str); - if (fs.debugOn('prefs')) { - $log.debug('<<>> Wrote cookie <'+name+'>:', str); - } - } - - angular.module('onosUtil') - .factory('PrefsService', ['$log', '$cookies', 'FnService', - function (_$log_, _$cookies_, _fs_) { - $log = _$log_; - $cookies = _$cookies_; - fs = _fs_; - - return { - getPrefs: getPrefs, - asNumbers: asNumbers, - setPrefs: setPrefs - }; - }]); - -}()); |