move Ox.UI utils into Core/UI.js

This commit is contained in:
rlx 2014-09-25 18:28:49 +02:00
parent 731f97e0f1
commit 41bf6ac372

View file

@ -1,7 +1,59 @@
'use strict';
//@ Ox.DIMENSIONS <o> Names of horizontal and vertical dimensions
Ox.DIMENSIONS = Ox.UI.DIMENSIONS = {
horizontal: ['width', 'height'],
vertical: ['height', 'width']
};
//@ Ox.EDGES <o> Names of horizontal and vertical edges
Ox.EDGES = Ox.UI.EDGES = {
horizontal: ['left', 'right', 'top', 'bottom'],
vertical: ['top', 'bottom', 'left', 'right']
};
//@ Ox.SCOLLBAR_SIZE <n> Size of scrollbars
Ox.SCROLLBAR_SIZE = Ox.UI.SCROLLBAR_SIZE = $.browser.webkit ? 8 : (function() {
var inner = Ox.$('<p>').css({
height: '200px',
width: '100%'
}),
outer = Ox.$('<div>').css({
height: '150px',
left: 0,
overflow: 'hidden',
position: 'absolute',
top: 0,
visibility: 'hidden',
width: '200px'
}).append(inner).appendTo($('body')),
width = inner[0].offsetWidth;
outer.css({overflow: 'scroll'});
width = 1 + width - (inner[0].offsetWidth == width
? outer[0].clientWidth : inner[0].offsetWidth);
outer.remove();
return width;
})();
//@ Ox.UI_PATH <str> Path of Ox UI
Ox.UI_PATH = Ox.UI.PATH = Ox.PATH + 'Ox.UI/';
//@ Ox.elements <o> Reference to all Ox Elements
Ox.elements = Ox.$elements = Ox.UI.elements = {};
/*@
Ox.getImageURL <f> Returns the URL of an Ox.UI image
Ox.getImageData <f> Returns properties of an Ox UI image
(url) -> <s> Image Name
@*/
Ox.getImageData = Ox.cache(function(url) {
var str = 'data:image/svg+xml;base64,';
return Ox.startsWith(url, str)
? JSON.parse(atob(url.split(',')[1]).match(/<!--(.+?)-->/)[1])
: null;
});
/*@
Ox.getImageURL <f> Returns the URL of an Ox UI image
(name[, color[, theme]]) -> <s> Image URL
name <s> Image name
color <s|[n]> Color name or RGB values
@ -9,7 +61,16 @@ Ox.getImageURL <f> Returns the URL of an Ox.UI image
@*/
Ox.getImageURL = Ox.cache(function(name, color, theme) {
var colorName,
image = images[name],
colors = {
marker: {
'#000000': 'videoMarkerBorder',
'#FFFFFF': 'videoMarkerBackground'
},
symbol: {
'#FF0000': 'symbolWarningColor'
}
},
image = Ox.IMAGES[name],
themeData,
type = Ox.toDashes(name).split('-')[0];
color = color || 'default';
@ -51,30 +112,15 @@ Ox.getOxElement = function(element) {
return Ox.elements[$(element).data('oxid')];
};
/*@
Ox.hideScreen <f> hide loading screen
() -> <u> hide loading screen
@*/
Ox.hideScreen = Ox.UI.hideLoadingScreen = function() {
Ox.LoadingScreen.hide();
};
//@ Ox.isOxElement <f> Returns `true` if a DOM element is an Ox.Element
Ox.isOxElement = Ox.UI.isOxElement = function(element) {
return !!$(element).data('oxid');
};
//@ Ox.SCOLLBAR_SIZE <n> size of scrollbars
Ox.SCROLLBAR_SIZE = Ox.UI.SCROLLBAR_SIZE = $.browser.webkit ? 8 : (function() {
var inner = Ox.$('<p>').css({
height: '200px',
width: '100%'
}),
outer = Ox.$('<div>').css({
height: '150px',
left: 0,
overflow: 'hidden',
position: 'absolute',
top: 0,
visibility: 'hidden',
width: '200px'
}).append(inner).appendTo($('body')),
width = inner[0].offsetWidth;
outer.css({overflow: 'scroll'});
width = 1 + width - (inner[0].offsetWidth == width
? outer[0].clientWidth : inner[0].offsetWidth);
outer.remove();
return width;
})();