gets app completly uptodate with prototype
This commit is contained in:
51
static/coffee/src/modules/tab.js
Executable file
51
static/coffee/src/modules/tab.js
Executable file
@@ -0,0 +1,51 @@
|
||||
// Generated by CoffeeScript 1.3.3
|
||||
(function() {
|
||||
var __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; };
|
||||
|
||||
this.Tab = (function() {
|
||||
|
||||
function Tab(id, items) {
|
||||
this.id = id;
|
||||
this.items = items;
|
||||
this.onShow = __bind(this.onShow, this);
|
||||
|
||||
this.element = $("#tab_" + id);
|
||||
this.render();
|
||||
}
|
||||
|
||||
Tab.prototype.$ = function(selector) {
|
||||
return $(selector, this.element);
|
||||
};
|
||||
|
||||
Tab.prototype.render = function() {
|
||||
var _this = this;
|
||||
$.each(this.items, function(index, item) {
|
||||
var tab;
|
||||
tab = $('<a>').attr({
|
||||
href: "#" + (_this.tabId(index))
|
||||
}).html(item.title);
|
||||
_this.$('.navigation').append($('<li>').append(tab));
|
||||
return _this.element.append($('<section>').attr({
|
||||
id: _this.tabId(index)
|
||||
}));
|
||||
});
|
||||
return this.element.tabs({
|
||||
show: this.onShow
|
||||
});
|
||||
};
|
||||
|
||||
Tab.prototype.onShow = function(element, ui) {
|
||||
this.$('section.ui-tabs-hide').html('');
|
||||
this.$("#" + (this.tabId(ui.index))).html(eval(this.items[ui.index]['content']));
|
||||
return this.element.trigger('contentChanged');
|
||||
};
|
||||
|
||||
Tab.prototype.tabId = function(index) {
|
||||
return "tab-" + this.id + "-" + index;
|
||||
};
|
||||
|
||||
return Tab;
|
||||
|
||||
})();
|
||||
|
||||
}).call(this);
|
||||
Reference in New Issue
Block a user