diff options
Diffstat (limited to 'framework/src/onos/web/gui/src/main/webapp/app/fw/util/theme.js')
-rw-r--r-- | framework/src/onos/web/gui/src/main/webapp/app/fw/util/theme.js | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/framework/src/onos/web/gui/src/main/webapp/app/fw/util/theme.js b/framework/src/onos/web/gui/src/main/webapp/app/fw/util/theme.js deleted file mode 100644 index 0e0ee649..00000000 --- a/framework/src/onos/web/gui/src/main/webapp/app/fw/util/theme.js +++ /dev/null @@ -1,121 +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 -- Theme Service - */ -(function () { - 'use strict'; - - var $log, fs; - - var themes = ['light', 'dark'], - themeStr = themes.join(' '), - thidx, - listeners = {}, - nextListenerId = 1; - - function init() { - thidx = 0; - updateBodyClass(); - } - - function getTheme() { - return themes[thidx]; - } - - function setTheme(t) { - var idx = themes.indexOf(t); - if (idx > -1 && idx !== thidx) { - thidx = idx; - updateBodyClass(); - themeEvent('set'); - } - } - - function toggleTheme() { - var i = thidx + 1; - thidx = (i===themes.length) ? 0 : i; - updateBodyClass(); - themeEvent('toggle'); - return getTheme(); - } - - function updateBodyClass() { - var body = d3.select('body'); - body.classed(themeStr, false); - body.classed(getTheme(), true); - } - - function themeEvent(w) { - var t = getTheme(), - m = 'Theme-Change-('+w+'): ' + t; - $log.debug(m); - angular.forEach(listeners, function(value) { - value.cb( - { - event: 'themeChange', - value: t - } - ); - }); - } - - function addListener(callback) { - var id = nextListenerId++, - cb = fs.isF(callback), - o = { id: id, cb: cb }; - - if (cb) { - listeners[id] = o; - } else { - $log.error('ThemeService.addListener(): callback not a function'); - o.error = 'No callback defined'; - } - return o; - } - - function removeListener(lsnr) { - var id = lsnr && lsnr.id, - o = listeners[id]; - if (o) { - delete listeners[id]; - } - } - - angular.module('onosUtil') - .factory('ThemeService', ['$log', 'FnService', - function (_$log_, _fs_) { - $log = _$log_; - fs = _fs_; - thidx = 0; - - return { - init: init, - theme: function (x) { - if (x === undefined) { - return getTheme(); - } else { - setTheme(x); - } - }, - toggleTheme: toggleTheme, - addListener: addListener, - removeListener: removeListener - }; - }]); - -}()); |