forked from 0x2620/oxjs
Ox.load(), and adding moved files
This commit is contained in:
parent
dc1ec954fb
commit
6cfb6b7647
594 changed files with 1381 additions and 19555 deletions
99
source/js/Ox.UI/Core/Ox.Theme.js
Normal file
99
source/js/Ox.UI/Core/Ox.Theme.js
Normal file
|
|
@ -0,0 +1,99 @@
|
|||
// vim: et:ts=4:sw=4:sts=4:ft=js
|
||||
// fixme: this should be Ox.Theme, and provide Ox.Theme.set(), Ox.Theme.load, etc.
|
||||
/**
|
||||
if name is given as argument, switch to this theme.
|
||||
return current theme otherwise.
|
||||
|
||||
Ox.theme()
|
||||
get theme
|
||||
Ox.theme('foo')
|
||||
set theme to 'foo'
|
||||
*/
|
||||
|
||||
Ox.Theme = function(theme) {
|
||||
|
||||
return theme ? setTheme(theme) : getTheme();
|
||||
|
||||
function getTheme() {
|
||||
var theme = '';
|
||||
Ox.forEach(Ox.UI.$body.attr('class').split(' '), function(className) {
|
||||
if (Ox.startsWith(className, 'OxTheme')) {
|
||||
theme = className.replace('OxTheme', '').toLowerCase();
|
||||
return false;
|
||||
}
|
||||
});
|
||||
return theme;
|
||||
}
|
||||
|
||||
function setTheme(theme) {
|
||||
var currentTheme = getTheme();
|
||||
if (theme != currentTheme) {
|
||||
Ox.UI.$body.addClass('OxTheme' + Ox.toTitleCase(theme));
|
||||
$('img').add('input[type=image]').each(function() {
|
||||
var $this = $(this);
|
||||
$this.attr({
|
||||
src: $this.attr('src')
|
||||
.replace('ox.ui.' + currentTheme, 'ox.ui.' + theme)
|
||||
});
|
||||
});
|
||||
}
|
||||
return Ox.Theme;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
/*
|
||||
Ox.UI.ready(function() {
|
||||
|
||||
Ox.theme = function() {
|
||||
var length = arguments.length,
|
||||
classes = Ox.UI.$body.attr('class').split(' '),
|
||||
arg, theme;
|
||||
Ox.forEach(classes, function(v) {
|
||||
if (Ox.startsWith(v, 'OxTheme')) {
|
||||
theme = v.replace('OxTheme', '').toLowerCase();
|
||||
if (length == 1) {
|
||||
Ox.UI.$body.removeClass(v);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
});
|
||||
if (length == 1) {
|
||||
arg = arguments[0]
|
||||
Ox.UI.$body.addClass('OxTheme' + Ox.toTitleCase(arg));
|
||||
if (theme) {
|
||||
$('img').each(function() {
|
||||
var $this = $(this);
|
||||
if (!$this.attr('src')) return; // fixme: remove, should't be neccessary
|
||||
$this.attr({
|
||||
src: $this.attr('src').replace(
|
||||
'/ox.ui.' + theme + '/', '/ox.ui.' + arg + '/'
|
||||
)
|
||||
});
|
||||
});
|
||||
$('input[type=image]').each(function() {
|
||||
var $this = $(this);
|
||||
$this.attr({
|
||||
src: $this.attr('src').replace(
|
||||
'/ox.ui.' + theme + '/', '/ox.ui.' + arg + '/'
|
||||
)
|
||||
});
|
||||
});
|
||||
$('.OxLoadingIcon').each(function() {
|
||||
var $this = $(this);
|
||||
$this.attr({
|
||||
src: $this.attr('src').replace(
|
||||
'/ox.ui.' + theme + '/', '/ox.ui.' + arg + '/'
|
||||
)
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
return theme;
|
||||
};
|
||||
|
||||
Ox.theme(Ox.UI.DEFAULT_THEME);
|
||||
|
||||
|
||||
});
|
||||
*/
|
||||
Loading…
Add table
Add a link
Reference in a new issue