oxjs/source/Ox.UI/js/Form/Ox.Label.js

57 lines
1.6 KiB
JavaScript
Raw Normal View History

2011-07-29 18:48:43 +00:00
// vim: et:ts=4:sw=4:sts=4:ft=javascript
2011-11-05 16:46:53 +00:00
'use strict';
2011-05-16 08:24:46 +00:00
/*@
Ox.Label <f:Ox.Element> Label Object
() -> <f> Label Object
(options) -> <f> Label Object
(options, self) -> <f> Label Object
options <o> Options object
@*/
2011-04-22 22:03:10 +00:00
Ox.Label = function(options, self) {
self = self || {};
var that = Ox.Element({}, self)
2011-04-22 22:03:10 +00:00
.defaults({
disabled: false,
id: '',
overlap: 'none',
textAlign: 'left',
2011-11-30 14:42:54 +00:00
style: 'rounded',
2011-04-22 22:03:10 +00:00
title: '',
width: 'auto'
})
2011-10-31 12:45:08 +00:00
.options(options || {})
2011-04-22 22:03:10 +00:00
.addClass(
2011-11-30 14:42:54 +00:00
'OxLabel Ox' + Ox.toTitleCase(self.options.style)
+ (self.options.disabled ? ' OxDisabled' : '')
+ (
self.options.overlap != 'none'
?
' OxOverlap' + Ox.toTitleCase(self.options.overlap) : ''
)
2011-04-22 22:03:10 +00:00
)
.css(Ox.extend(self.options.width == 'auto' ? {} : {
2011-11-30 14:42:54 +00:00
width: self.options.width - (
self.options.style == 'rounded' ? 14 : 8
2011-11-30 14:42:54 +00:00
) + 'px'
2011-04-22 22:03:10 +00:00
}, {
textAlign: self.options.textAlign
}))
.html(self.options.title);
2011-04-29 12:40:51 +00:00
self.setOption = function(key, value) {
2011-04-22 22:03:10 +00:00
if (key == 'title') {
that.html(value);
2011-05-21 17:56:15 +00:00
} else if (key == 'width') {
that.css({
width: self.options.width - (
self.options.style == 'rounded' ? 14 : 8
) + 'px'
});
2011-04-22 22:03:10 +00:00
}
};
2011-04-22 22:03:10 +00:00
return that;
};