aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/web/gui/src/main/webapp/app/fw/util/theme.js
diff options
context:
space:
mode:
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.js121
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
- };
- }]);
-
-}());