/wwwroot/lib/ucewidget.js
JavaScript | 76 lines | 58 code | 6 blank | 12 comment | 9 complexity | d19f623e814278395501703ee0c92c0b MD5 | raw file
- /**
- * U.C.Engine UI Widget
- * http://ucengine.org/
- * (c) 2010 af83
- */
- (function($) {
- $.uce = {};
- $.uce.widget = function (name, base, prototype) {
- var constructor = base._create;
- var ucewidget = {
- _create: function() {
- if (constructor) {
- constructor.apply(this, []);
- }
- if (this.options.ucemeeting != null) {
- for (var ucevent in this.meetingsEvents) {
- var method = this.meetingsEvents[ucevent];
- if (method) {
- method = $.proxy(this[method], this);
- this.options.ucemeeting.on(ucevent, method);
- }
- }
- }
- },
- /**
- * Trigger ucengine event for testing purpose
- * Handle only events in meetingsEvents hash
- */
- triggerUceEvent: function(event) {
- var methodName = this.meetingsEvents[event.type];
- this[methodName](event);
- }
- }
- $.widget("uce." + name, $.extend(true, base, ucewidget, $.uce.header), prototype);
- };
- /**
- * Special headers for U.C.Engine
- */
- $.uce.header = {
- addHeader: function() {
- this._addHeader(this.options.title, this.options.buttons)
- },
- _addHeader: function(title, buttons) {
- var header = $('<div>')
- .attr('class', 'ui-widget-header ui-corner-all ui-helper-clearfix');
- if (buttons && buttons.left) {
- var left = $('<span>').attr('class', 'ui-widget-header-left');
- left.appendTo(header);
- $.each(buttons.left, function(index, elem) {
- elem.appendTo(left);
- });
- }
- $('<span>')
- .addClass('ui-widget-header-title')
- .text(title)
- .appendTo(header);
- if (buttons && buttons.right) {
- var right = $('<span>').attr('class', 'ui-widget-header-right');
- right.appendTo(header);
- $.each(buttons.right, function(index, elem) {
- elem.appendTo(right);
- });
- }
- header.prependTo(this.element);
- },
- _setTitle: function(title) {
- this.element.find('.ui-widget-header-title').text(title);
- }
- };
- })(jQuery);